Dedicated Distribution of Computing Resources in Virtualized Environments

ABSTRACT

Concepts and technologies directed to dedicated optical distribution of computing resources in virtualized environments are disclosed herein. In various aspects, a system can include a processor and memory storing instructions that, upon execution, cause performance of operations. The operations can include receiving a virtual machine creation request that includes a virtual processing requirement and a virtual memory requirement for a virtual machine. The operations can include accessing a physical host infrastructure map that identifies remainder resources from physical host servers within a datacenter. The operations can include creating a simulation test routine and assembling a candidate resource set from the remainder resources. The operations can include establishing a dedicated processing path and a dedicated memory path for the candidate resource set. The operations can include initiating the simulation test routine on the candidate resource set via the dedicated processing path and the dedicated memory path.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 16/394,215, entitled “Dedicated Distribution ofComputing Resources in Virtualized Environments,” filed Apr. 25, 2019,now allowed, which is incorporated herein by reference in its entirety.

BACKGROUND

In some datacenters, the physical host networking devices may bedistributed across various locations. Through virtualized networkarchitecture, the physical host networking devices can provide a virtualdatacenter that appears cohesive to a user data plane. Communicationservice providers can implement network virtualization platforms toshare virtualized infrastructure that supports multiple communicationservices and network applications (including real-time and non-real-timeapplications). In some instances, a majority of network traffic indatacenters can occur internally, that is, between virtual machines andhost devices that are included within the datacenter. Traditionalsystems for distributed computing environments may cause bottlenecks andsingle points of failure for processing data. Moreover, the prevalenceof shifting processing to a datacenter has increased the volume ofincoming data to a petabyte scale, which may cause computing systems tobecome burdened and operate inefficiently. Additionally, withinvirtualized environments, physical processing resources and physicalmemory resources that are tied to handling a particular process may beassigned, but not actually be utilized, thereby reducing performance andwasting resources of the datacenter.

SUMMARY

The present disclosure is directed to dedicated optical distribution ofcomputing resources in virtualized environments. According to one aspectof the concepts and technologies disclosed herein, a system isdisclosed. In some embodiments, the system can include a processor and amemory. The memory can store computer-executable instructions that, whenexecuted by the processor, cause one or more instances of the processorto perform operations. In some embodiments, the operations can includereceiving a virtual machine creation request that includes a virtualprocessing requirement and a virtual memory requirement for a virtualmachine. The operations can include accessing a physical hostinfrastructure map that identifies remainder resources from physicalhost servers within a datacenter. In some embodiments, the remainderresources can include a plurality of unassigned processing units and aplurality of unassigned memory devices. The operations can includecreating a simulation test routine based on the virtual processingrequirement and the virtual memory requirement. The operations caninclude assembling a candidate resource set from the remainderresources. In some embodiments, the candidate resource set can includeat least one unassigned processing unit from the plurality of unassignedprocessing units and at least one unassigned memory device from theplurality of unassigned memory devices. The operations can includeestablishing a dedicated processing path and a dedicated memory path forthe candidate resource set. The operations can include initiating thesimulation test routine on the candidate resource set via the dedicatedprocessing path and the dedicated memory path.

In some embodiments, the operations can include determining whether thecandidate resource set satisfies the virtual processing requirement andthe virtual memory requirement for the virtual machine. In someembodiments, the operations can further include instructing a hypervisorto create the virtual machine using the candidate resource set, wherethe instructing may occur in response to determining that the candidateresource set satisfies the virtual processing requirement and thevirtual memory requirement for the virtual machine.

In some embodiments, the operations can further include reconfiguring atleast one of the dedicated processing path or the dedicated memory pathfor the candidate resource set, where the reconfiguring can occur inresponse to determining that the candidate resource set does not satisfyat least one of the virtual processing requirement or the virtual memoryrequirement for the virtual machine. The operations can includereinitiating the simulation test routine and determining thatreconfiguring at least one of the dedicated processing path or thededicated memory path enables the candidate resource set to satisfy thevirtual processing requirement and the virtual memory requirement forthe virtual machine.

In some embodiments, the operations can further include reconfiguringthe candidate resource set to include another remainder resource, wherethe reconfiguring can occur in response to determining that thecandidate resource set does not satisfy at least one of the virtualprocessing requirement or the virtual memory requirement for the virtualmachine. The operations can include reinitiating the simulation testroutine and determining that reconfiguring the candidate resource set toinclude another remainder resource enables the candidate resource set tosatisfy the virtual processing requirement and the virtual memoryrequirement for the virtual machine.

According to another aspect of the concepts and technologies disclosedherein, a method is disclosed, according to an embodiment. The methodcan include receiving, by a system of a datacenter, a virtual machinecreation request that includes a virtual processing requirement and avirtual memory requirement for a virtual machine. The method can includeaccessing, by the system, a physical host infrastructure map thatidentifies remainder resources from physical host servers within adatacenter. The method can include creating, by the system, a simulationtest routine based on the virtual processing requirement and the virtualmemory requirement. The method can include assembling, by the system, acandidate resource set from the remainder resources. In someembodiments, the remainder resources can include a plurality ofunassigned processing units and a plurality of unassigned memorydevices. In some embodiments, the candidate resource set can include atleast one unassigned processing unit from the plurality of unassignedprocessing units and at least one unassigned memory device from theplurality of unassigned memory devices. The method can includeestablishing, by the system, a dedicated processing path and a dedicatedmemory path for the candidate resource set. The method can includeinitiating, by the system, the simulation test routine on the candidateresource set via the dedicated processing path and the dedicated memorypath.

In some embodiments, the method can further include determining, by thesystem, whether the candidate resource set satisfies the virtualprocessing requirement and the virtual memory requirement for thevirtual machine. In some embodiments, the method can includeinstructing, by the system, a hypervisor to create the virtual machineusing the candidate resource set, where the instructing may occur inresponse to determining that the candidate resource set satisfies thevirtual processing requirement and the virtual memory requirement forthe virtual machine.

In some embodiments, the method can include reconfiguring, by thesystem, at least one of the dedicated processing path or the dedicatedmemory path for the candidate resource set, where the reconfiguring canoccur in response to determining that the candidate resource set doesnot satisfy at least one of the virtual processing requirement or thevirtual memory requirement for the virtual machine. The method caninclude reinitiating, by the system, the simulation test routine. Themethod can include determining, by the system, that reconfiguring atleast one of the dedicated processing path or the dedicated memory pathenables the candidate resource set to satisfy the virtual processingrequirement and the virtual memory requirement for the virtual machine.

In some embodiments, the method can include reconfiguring, by thesystem, the candidate resource set to include another remainderresource, where the reconfiguring can occur in response to determiningthat the candidate resource set does not satisfy at least one of thevirtual processing requirement or the virtual memory requirement for thevirtual machine. The method can include reinitiating, by the system, thesimulation test routine. The method can include determining, by thesystem, that reconfiguring the candidate resource set to include anotherremainder resource enables the candidate resource set to satisfy thevirtual processing requirement and the virtual memory requirement forthe virtual machine.

According to yet another aspect, a computer storage medium is disclosed.The computer storage medium can have computer-executable instructionsstored thereon. When the computer-executable instructions are executedby a processor, the processor can perform operations. In someembodiments, the processor can be included in a datacenter. In someembodiments, the operations can include receiving a virtual machinecreation request that includes a virtual processing requirement and avirtual memory requirement for a virtual machine. The operations caninclude accessing a physical host infrastructure map that identifiesremainder resources from physical host servers within a datacenter. Insome embodiments, the remainder resources can include a plurality ofunassigned processing units and a plurality of unassigned memorydevices. In some embodiments, the operations can include creating asimulation test routine based on the virtual processing requirement andthe virtual memory requirement. The operations can include assembling acandidate resource set from the remainder resources. In someembodiments, the candidate resource set can include at least oneunassigned processing unit from the plurality of unassigned processingunits and at least one unassigned memory device from the plurality ofunassigned memory devices. The operations can include establishing adedicated processing path and a dedicated memory path for the candidateresource set. The operations can include initiating the simulation testroutine on the candidate resource set via the dedicated processing pathand the dedicated memory path.

In some embodiments, the operations can further include determiningwhether the candidate resource set satisfies the virtual processingrequirement and the virtual memory requirement for the virtual machine.In some embodiments, the operations can include instructing a hypervisorto create the virtual machine using the candidate resource set, wherethe instructing can occur in response to determining that the candidateresource set satisfies the virtual processing requirement and thevirtual memory requirement for the virtual machine.

In some embodiments, the operations can include reconfiguring at leastone of the dedicated processing path or the dedicated memory path forthe candidate resource set, where the reconfiguring can occur inresponse to determining that the candidate resource set does not satisfyat least one of the virtual processing requirement or the virtual memoryrequirement for the virtual machine. The operations can includereinitiating the simulation test routine. The operations can includedetermining that reconfiguring at least one of the dedicated processingpath or the dedicated memory path enables the candidate resource set tosatisfy the virtual processing requirement and the virtual memoryrequirement for the virtual machine.

In some embodiments, the operations can include reconfiguring thecandidate resource set to include another remainder resource, where thereconfiguring can occur in response to determining that the candidateresource set does not satisfy at least one of the virtual processingrequirement or the virtual memory requirement for the virtual machine.The operations can include reinitiating the simulation test routine. Theoperations can include determining that reconfiguring the candidateresource set to include another remainder resource enables the candidateresource set to satisfy the virtual processing requirement and thevirtual memory requirement for the virtual machine.

It should be appreciated that the above-described subject matter may beimplemented as a computer-controlled apparatus, a computer process, acomputing system, or as an article of manufacture such as acomputer-readable storage medium. These and various other features willbe apparent from a reading of the following Detailed Description and areview of the associated drawings.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intendedthat this Summary be used to limit the scope of the claimed subjectmatter. Furthermore, the claimed subject matter is not limited toimplementations that solve any or all disadvantages noted in any part ofthis disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example operating environmentin which aspects of dedicated optical distribution of computingresources in virtualized environments can be implemented, according toan illustrative embodiment.

FIG. 2 is a block diagram illustrating aspects of a multi-lane opticaltransceiver, according to an illustrative embodiment.

FIG. 3 is a flow diagram illustrating aspects of a method foraggregation and distribution of computing resources in a virtualizedenvironment, according to an illustrative embodiment.

FIG. 4 is a flow diagram illustrating aspects for assembling a candidateresource set to facilitate aggregation and distribution of computingresources in virtualized environments, according to an illustrativeembodiment.

FIG. 5 is a diagram illustrating a network topology for a virtualizeddatacenter cloud capable of implementing aspects of the concepts andtechnologies described herein according embodiments of the presentdisclosure.

FIG. 6 is a diagram illustrating an example network capable ofimplementing aspects of the embodiments discussed herein.

FIG. 7 is a block diagram illustrating a network virtualization platform(“NVP”) capable of implementing aspects of the embodiments presentedherein.

FIG. 8 is a block diagram illustrating an example computer systemcapable of implementing aspects of the embodiments presented anddescribed herein.

DETAILED DESCRIPTION

The following detailed description is directed to dedicated opticaldistribution of computing resources in virtualized environments. In somevirtualized datacenter environments, a network administrator may rely ona hypervisor to manage the concurrent execution of one or more virtualmachines, where each virtual machine can have virtual processingrequirements and/or virtual memory requirements. In some instances, thehypervisor may be configured as a “type-1” native or bare-metalhypervisor that can control and/or run directly on the physical hardwarecomputing resources of a physical host server without reliance on anoperating system to execute or otherwise operate between the physicalhost server and the hypervisor, thereby causing each virtual machine tobe contained or otherwise restricted to use in only the physical hostserver in which the hypervisor directly resides. As a result,utilization of physical computing resources—such as processing resources(e.g., from physical central processing units and/or physical graphicsprocessing units), memory resources (e.g., memory storage, diskbandwidth), portions thereof, or the like—may be wasted by thehypervisor because the hypervisor may be limited to allocating onlyprocessing units and/or memory devices on which the hypervisor directlyresides, thereby rendering some processing resources and/or memoryresources unusable and unassignable to other virtual machines.

For example, a physical server may have 8 processing units (e.g.,central processing units) and a memory storage device that provides 100terabytes of disk storage, where the physical server hosts a bare-metalhypervisor. A network administrator may seek to have the bare-metalhypervisor create two virtual machines on this physical server, wherethe first virtual machine requires 4 processing units and 20 terabytesof disk storage, and the second virtual machine requires 4 processingunits and 30 terabytes of disk storage. In this example, the bare-metalhypervisor may assign 50% of the processing resources of the physicalserver to each virtual machine (e.g., 4 processing units to each virtualmachine), and 50% of the memory resources of the physical server basedon the requirements of each virtual machine (e.g., 20% of memoryassigned to the first virtual machine and 30% of memory assigned to thesecond virtual machine). However, in this example, 50% (e.g., 50terabytes) of memory may be unusable and unassignable to other virtualmachines because all of the processing resources have already beenassigned, and because conventional hardware architecture may not allowfor the memory storage device on one physical server to be directlyaccessed by another physical server since the bare-metal hypervisor isoperating directly on the hardware resources on which the bare-metalhypervisor resides. As such, memory resources and/or processingresources may be wasted and not accessible in conventional virtualizedenvironments.

By way of another example, a physical host infrastructure can include aplurality of physical host servers that collectively provide 8 centralprocessing units. Two virtual machines may already exist and be runningusing the physical host servers. For instance, a first virtual machinemay execute a first application and require the processing power of 3central processing units from the physical host servers. A secondvirtual machine may execute another application and require theprocessing power of 4 central processing units from the physical hostservers. This means that 1 central processing unit remains and can bedesignated as a remainder resource from among the 8 central processingunits provided by the physical host servers. Typical configurations ofphysical host infrastructure may not be able to utilize the oneremaining central processing unit that is available and unassigned foruse, thereby effectively wasting physical hardware resources.Conventional attempts to utilize the one remainder resource may relyexclusively on a shared communication bus; however, this can impede theoperating efficiency and effectiveness of using the one remainderresource because, in typical configurations, a shared queue (and/orshared communication interface) may be used to access the remainderresource, thereby increasing processing and access latency, while alsopreventing directly, dedicated access to (only) the remainder resource.Therefore, embodiments of the present disclosure can enable directaccess and communication with one or more instance of remainderresources, without having to route data through a shared queue and/or ashared communication interface, thereby allowing allocation andaggregation of physical compute resources across various physicallocations to support the execution and creation of a virtual machine. Assuch, embodiments of the present disclosure can improve the functioningof the datacenter and increase processing output.

Another technical challenge may arise in situations where thevirtualized datacenter environment utilizes a physical server thatexecutes an operating system and the operating system resides orotherwise operates between the physical computing resources and thehypervisor. Stated differently, a data center may utilize a hypervisorthat is configured as a “type-2” hosted hypervisor that executes on theoperating system supported by the host devices (e.g., a physicalserver). The hosted hypervisor may rely on the operating system toprovide information about the processing resources and memory resourcesfor underlying physical computing resources because the hostedhypervisor does not reside directly on the physical host device and thehosted hypervisor does not have root access to the processing resourcesand memory resources. As such, the hosted hypervisor may be dependent onthe operating system to provide parameters about the processingresources and memory resources. For example, the operating system mayclaim that the underlying processing resources provide 8 processingunits, where each processing unit provides 2.4 gigahertz (Ghz) persecond processing power, and thus a claimed processing parameter may bestored by the operating system, and accessible to the hosted hypervisor,that indicates “2.4 Ghz/sec.” Therefore, in a situation where a hostedhypervisor is requested to create a virtual machine that has a virtualprocessing requirement of 4 Ghz/sec processing power, the hostedhypervisor may look to the operating system, determine that theoperating system alleges that two processing units can provide 4.8Ghz/sec processing power (i.e., two processing units claimed to eachprovide 2.4 Ghz/sec), and therefore the hosted hypervisor may assumethat allocating two processing units is enough (i.e., because theclaimed 4.8 Ghz/sec is more than the requirement of 4 Ghz/sec). However,because the hosted hypervisor obtains claimed parameters aboutprocessing resources and/or memory resources from the operating system,the hosted hypervisor may not be privy to the actual hardwarearchitecture and/or other processing operations which may cause eachprocessing unit and/or memory device to operate less than the claimedamount. For example, although an instance of a claimed parameter foreach processing unit alleges that 2.4 Ghz/sec can be provided, theactual processing power of each processing unit may provide only 1.8Ghz/sec, and therefore in the example above, allocation of twoprocessing units by the hosted hypervisor would not be enough to satisfythe virtual processing demands of the virtual machine. This can causedelays in virtual machine instantiation and waste resource utilizationthrough inaccurate reporting of computing capabilities.

Therefore, aspects of the present disclosure can provide a virtualizeddatacenter environment that improves the utilization of computingresources that reside on separate instances of physical hostinfrastructure by allocating processing and memory resources viadedicated communication paths so as to support and facilitate thecreation and ongoing execution of virtual machines. In variousembodiments, aspects of the present disclosure can provide a dedicatedphysical resource manager that executes within a datacenter and can haveroot access to various computing resource instances (e.g., instances ofprocessing units and/or memory storage devices) provided by one or moreinstances of physical host infrastructure within a datacenter, such asone or more instances of a physical host server. The dedicated physicalresource manager may operate parallel to (or in some embodiments as apart of) one or more instance of a hypervisor to support the hypervisorby determining actual capabilities of remainder resources andestablishing dedicated communication paths by which externally locatedprocessing units and memory devices can be aggregated together whichotherwise would not have been available for use by the hypervisor. Byperforming one or more operations discussed herein, aspects of thepresent disclosure can ensure proper allocation and distribution ofcomputing resources across multiple physical host servers withindatacenters, thereby improving virtualized processing capabilitiesthrough an increased amount of virtual machines hosted within thevirtualized environment of the datacenter.

In various embodiments, aspects of the present disclosure can establishthe formation of one or more instances of dedicated communication paths(e.g., dedicated processing paths and/or dedicated memory paths) throughthe utilization of an independent, dedicated connection interface thatcan provide direct connections and direct communicative coupling betweentwo or more processing units and/or memory devices, thereby allowingindividual instances of a physical processing unit and/or a physicalmemory device to be accessed and utilized on different physical hostdevices, irrespective of whether other physical resources on the samephysical host device have already been allocated. In various embodimentsof the present disclosure, each physical host server can have hardwarecircuitry configured such that each processing unit has a corresponding,dedicated communication port and each memory device has a corresponding,dedicated communication port, thereby allowing individual processingunits from different physical host servers to be aggregated through adirect connection so as to form a processing resource mesh that can bedynamically adjusted based on virtual processing requirements, andallowing individual memory devices from different physical host serversto be aggregated through direct connection so as to form a memoryresource mesh that can be dynamically adjusted based on virtual memoryrequirements. For example, in some embodiments, each processing unit(e.g., each central processing unit) can have a direct connection to adedicated communication port (i.e., a communication port that isdedicated solely to the processing unit), where the dedicatedcommunication port can bypass a shared network interface and/or sharedsystem bus of the physical host server (e.g., bypassing an ethernetport, a SATA interface, and eSATA interface, etc.). In some embodiments,the dedicated communication port of a processing unit and/or a memorydevice in one physical host server can be configured to directly connectto another processing unit and/or another memory device of anotherphysical host server. Alternatively, and/or additionally, eachprocessing unit and/or memory device can have a dedicated communicationport (which may be another, second communication port) that connects toan instance of a dedicated bus hub that is external to the physical hostservers and allows for aggregation of physical processing units and/orphysical memory devices on different physical host servers. In someembodiments, a dedicated communication port can be configured as anoptical communication interface that communicatively couples to amulti-lane optical transceiver, where the multilane optical transceivermay reside in a dedicated bus hub that is external to the physical hostserver (e.g., a dedicated processing bus hub and/or a dedicated memorybus hub). In various embodiments, the multi-lane optical transceiver canenable optical communicative coupling between two or more instances of aprocessing unit and/or a memory device, thereby enabling allocation andaggregation of individual processing resources and/or memory resourcesso as to utilize remaining resources on one or more physical hostservers.

In various embodiments, the dedicated physical resource manager cancommunicatively couple with the physical host infrastructure so thatprior to the hypervisor relying solely on claimed parameters ofprocessing resources and/or memory resources to create or alter avirtual machine, the dedicated physical resource manager can search forremaining processing resources and remaining memory resources amongstthe physical host servers of the physical host infrastructure, verifywhether the remainder resources can be aggregated to satisfy the virtualprocessing requirements and/or virtual memory requirements of a virtualmachine, and enable aggregation of distributed physical processing andmemory resources through the establishment of dedicated communicationpaths. The dedicated physical resource manager can detect that theclaimed parameters for processing resources and memory resources are notaccurate as reported by the operating system, and thus the dedicatedphysical resource manager can verify how much of a delay to processingand/or memory access is caused due to distances between various physicalhost servers. In turn, the dedicated physical resource manager cancreate a simulated test routine to mimic the virtual processing andmemory requirements so as to confirm that aggregating processing unitsand/or memory devices into a candidate resources set (for generationand/or reconfiguration of a virtual machine) will satisfy the virtualprocessing requirements and virtual memory requirements. As such,aspects of the present disclosure can improve the performance of adatacenter by increasing physical processing and physical memoryutilization so as to optimize support for hosting virtual machines.These and other aspects of the concepts and technologies disclosedherein will be illustrated and described in more detail below.

While some of the subject matter described herein may occasionally bepresented in the general context of program modules that execute inconjunction with the execution of an operating system and applicationprograms on a computer system, those skilled in the art will recognizethat other implementations may be performed in combination with othertypes of program modules. Generally, program modules include routines,programs, components, data structures, and other types of structuresthat perform particular tasks or implement particular abstract datatypes in response to execution on a processor so as to transform theprocessor into a particular machine. Moreover, those skilled in the artwill appreciate that the subject matter described herein may bepracticed with other computer system configurations, including hand-helddevices, multiprocessor systems, microprocessor-based or programmableconsumer electronics, minicomputers, mainframe computers, and otherparticularized, non-generic machines.

Referring now to FIG. 1, aspects of an operating environment 100 forimplementing various embodiments of the concepts and technologiesdisclosed herein will be described, according to an illustrativeembodiment. The operating environment 100 shown in FIG. 1 includes acommunications network (“network”) 102 that is communicatively coupledto a network access point 104, one or more instances of a client device106, and a datacenter 110. It should be understood that the network 102can include almost any type of computer network as well ascommunications networks. The network 102 can be hosted, in part or inwhole, by one or more communications service provider, and the physicaldevices may be located in the same, proximate, and/or remote physicallocation from each other. The network 102 can include one or moreinstances of a radio access network, a core network (e.g., an evolvedpacket core network, a New Radio core network, etc.), an IP-basednetwork, a transport network, an optical transport network, a circuitswitched network, a mobile Wide Area Network, a combination thereof, orthe like. In some embodiments, the datacenter 110 can be associated withat least a portion of the network 102, such as the portion which isoperated by the communications service provider, although this may notnecessarily be the case in all embodiments. The network 102 can hostand/or be in communication with the datacenter 110 that can host one ormore instances of virtualized and/or non-virtualized network services.For example, in some embodiments, the datacenter 110 can providecommunication services, compute services, storage services, routingservices, switching services, relay services, and/or other virtualizedor non-virtualized network services. It should be understood that theterm “service” should be construed as one or more executing applicationsthat can provide a set of communication and/or network functions onbehalf of the datacenter 110 and/or the network 102, and therefore theterm “service” is not used, and should not be construed or interpreted,to invoke any abstract idea, judicial exception, or any non-patenteligible subject matter. The network services can be used by a serviceprovider, by third parties, and/or by customers via client devices,servers, and/or other virtualized and/or non-virtualized computingsystems. Further aspects that can be provided by an embodiment of thenetwork 102 are discussed below with respect to FIG. 6. It should beunderstood that the examples provided are for illustration purposesonly, and therefore should not be construed as limiting in any way.

In some embodiments, the operating environment 100 can include one ormore instances of the client device 106. Instances of the client device106 refers to any user equipment and/or computer system that sendsand/or receives communications to the datacenter 110 via the networkaccess point 104 and/or the network 102. Embodiments of the clientdevice 106 can include, but should not be limited to, a user equipment,a mobile communications device (e.g., a smartphone), a server, a desktopcomputer, a laptop computer, a tablet, a customer premise equipment, aswitch, or other computing systems that can send and/or receivecommunications with the datacenter 110. It is understood that zero, one,or more than one instances of the client device 106 can be presentwithin various embodiments of the operating environment 100. Furtherdiscussion of aspects of an embodiment of the client device 106 isdiscussed below with respect to FIG. 8.

In various embodiments, instances of the network access point 104 canprovide communicative coupling between one or more devices (e.g., theclient device 106) and the network 102. The network access point 104 canprovide wired and/or wireless communicative coupling and can include,but should not be limited to, one or more of a base transceiver station,a wireless router, a femtocell, an eNodeB, a NodeB, a gNodeB (i.e., anaccess point that incorporates New Radio access technology that supports5G standards or future standards), a multi-standard metro cell node, acustomer premise edge node (e.g., an optical network terminal), and/orother network nodes or combinations thereof that are capable ofproviding communication to and/or from the network 102. It should beunderstood that the examples provided are for illustration purposesonly, and therefore should not be construed as limiting in any way.

In various embodiments, the datacenter 110 can include one or morecomputing systems that host, support, or otherwise facilitate operationof the datacenter 110, such as a software defined networking (“SDN”)gateway 112, instances of physical host infrastructure 114, an operatingsystem 150, a hypervisor 154, a network administration controller 158,and/or a dedicated physical resource manager 160. In some embodiments,the SDN gateway 112 can provide a network communication interface bywhich the network 102 communicates with or otherwise relays informationto and/or from the network 102. In various embodiments, the SDN gateway112 can provide messages and requests to one or more elements of thedatacenter 110, such as the network administration controller 158. Insome embodiments, the network administration controller 158 can beconfigured to operate or otherwise be supported by a physical server, anapplication, and/or a virtual machine. In some embodiments, an instanceof the client device 106 can provide input to the datacenter 110 via thenetwork access point 104 and the network 102, and the SDN gateway 112may relay information within the datacenter 110 so as to request and/orinvoke processing and analysis using one or more virtual machines.

In various embodiments, the datacenter 110 can include physical hostinfrastructure, such as the physical host infrastructure 114. Thephysical host infrastructure 114 can provide physical computingresources that support or otherwise facilitate operation of avirtualized computing environment. As such, the physical hostinfrastructure 114 can include various network devices and nodes thatsupport transportation of communications for processing and analysis,such as servers, switches, routers, gateways, terminals, and/or otherphysical computing elements that facilitate the hosting of one or morevirtual machines. For clarity purposes only, the physical hostinfrastructure 114 is illustrated in FIG. 1 as including one or morephysical host servers, such as physical host servers 116A-N, a dedicatedprocessing bus hub 140, and a dedicated memory bus hub 144. It isunderstood that, in some embodiments, other network elements can beincluded in the physical host infrastructure 114 to facilitate one ormore operations discussed herein as understood by one of ordinary skillin the technology. For example, in some embodiments, the datacenter 110can include one or more aspects discussed below with respect to FIGS. 5,6, 7, and/or 8. It should be understood that the examples provided arefor illustration purposes only, and therefore should not be construed aslimiting in any way.

In various embodiments, the physical host infrastructure 114 can includeone or more instances of physical computer systems, such as the physicalhost servers 116A-N. As illustrated in FIG. 1, each of the physical hostservers 116A-N can include physical computer systems that provideprocessing resources and/or memory resources. For example, processingresources can be provided by one or more instances of a processing unit,such as processing units 118A-N and/or processing units 124A-Ncorresponding to the physical host servers 116A and 116N, respectively.In some embodiments, instances of a processing unit (e.g., theprocessing units 118A-N and/or the processing units 124A-N) can be oneor more central processing units (“CPUs”) configured with one or moreprocessing cores, one or more graphics processing unit (“GPU”)configured to accelerate operations performed by one or more CPUs,and/or one or more systems on a chip (“SOC”) to perform computations toprocess data, and/or to execute computer-executable instructions of oneor more application programs, operating systems, and/or other softwarethat may or may not include instructions particular to graphics and/orcommunications computations. In some embodiments, a processing unit maybe referred to as a “processor,” although this may not necessarily bethe case in every embodiment. Further discussion of embodiments of aninstance of a processing unit and/or compute resources can be found withrespect to FIG. 7 and FIG. 8.

In various embodiments, when a processing resource of the physical hostinfrastructure 114 is available for allocation and use, and thus is notalready assigned, designated, or otherwise reserved, then the processingresource may be considered to be an unassigned processing unit, such asunassigned processing units 120A-N from among the processing units118A-N of the physical host server 116A and/or unassigned processingunits 126A-N from among the processing units 124A-N of the physical hostserver 116N. As illustrated in FIG. 1, the number of unassignedprocessing units 120A-N and/or 126A-N may vary at a specific instance intime based on virtual processing requirements from among various virtualmachines (e.g., virtual machines 156A-N) and/or any other processingactivities of the physical host infrastructure 114. It is understoodthat, in some embodiments, the dedicated physical resource manager 160may be aware that one of the processing units 118A-N and/or 124A-N willbecome available for use at a future time, and thus may perform one ormore operations in anticipation of one or more instances of theprocessing units 118A-N and/or 124A-N becoming available for use anddesignation. As such, the examples provided herein are for illustrationpurposes only. In various embodiments, each processing resourcecorresponds with a processing identifier. For example, each of theprocessing units 118A-N and 124A-N corresponds with an instance ofprocessing unit identifiers 164A-N. The processing unit identifiers164A-N can be stored in a physical host infrastructure map 162, whichwill be discussed in further detail below. The processing unitidentifiers 164A-N can allow the dedicated physical resource manager 160the ability to identify which processing units reside on a particularphysical host server of the physical host infrastructure 114.

In various embodiments, the physical host infrastructure 114 can includeand/or otherwise provide memory resources to facilitate and support thecreation and execution of virtual machines, such as the virtual machines156A-N. For example, the memory resources of the physical hostinfrastructure 114 can include one or more instances of a memory storagedevice, such as memory devices 122A-N and/or memory devices 128A-Ncorresponding to the physical host servers 116A and 116N, respectively.In some embodiments, instances of the memory devices 122A-N and/or128A-N may be referred to as “memory,” although this may not necessarilybe the case in every embodiment. In various embodiments, instances ofmemory devices (e.g., the memory devices 122A-N and/or 128A-N) caninclude one or more hardware components that perform storage operations,including temporary or permanent storage operations. In someembodiments, the memory devices 122A-N and/or 128A-N can includevolatile and/or non-volatile memory implemented in any method ortechnology for storage of information such as computer-readableinstructions, data structures, program modules, or other data disclosedherein. It is understood that, in the claims, use of the terms “memory,”“memory device,” “computer storage medium” (or variations thereof) doesnot include, and shall not be construed or otherwise interpreted tocover or include, a wave or a signal per se and/or communication media.Further discussion of embodiments of an instance of memory resources canbe found with respect to FIG. 7 and FIG. 8.

In various embodiments, when a memory resource of the physical hostinfrastructure 114 is available for allocation and use, and thus is notalready assigned or designated, or otherwise reserved, then the memoryresource may be considered to be an unassigned memory device, such asunassigned memory devices 123A-N from among the memory devices 122A-N ofthe physical host server 116A and/or the unassigned memory devices130A-N from among the memory devices 128A-N of the physical host server116N. As illustrated in FIG. 1, the number of unassigned memory devices123A-N and/or 130A-N may vary at a specific instance in time based onvirtual memory requirements from among various virtual machines (e.g.,the virtual machines 156A-N) and/or any other data storage activities ofthe physical host infrastructure 114. It is understood that, in someembodiments, the dedicated physical resource manager 160 may be awarethat one of the memory devices 122A-N and/or 128A-N will becomeavailable for use at a future time, and thus may perform one or moreoperations in anticipation of one or more instances of the memorydevices 122A-N and/or 128A-N becoming available for use and designation.As such, the examples provided herein are for illustration purposesonly. In various embodiments, each memory device corresponds with amemory identifier. For example, each of the memory devices 122A-N and128A-N corresponds with an instance of one of the memory deviceidentifiers 166A-N. The memory device identifiers 166A-N can be storedin the physical host infrastructure map 162, which will be discussed infurther detail below. The memory device identifiers 166A-N can allow thededicated physical resource manager 160 the ability to identify whichmemory devices reside on a particular physical host server of thephysical host infrastructure 114.

In various embodiments, computing resources which remain availableand/or otherwise unallocated and assignable for use in the creationand/or execution of a virtual machine (e.g., the virtual machines156A-N) can be considered a remainder resource, such as remainderresources 132. The remainder resources 132 can include a plurality ofunassigned processing units and a plurality of unassigned memorydevices, such as any of the unassigned processing units 120A-N, 126A-Nand/or the unassigned memory device 123A-N, 130A-N. In variousembodiments, one instance of a processing unit and/or a memory devicecan be designated as a remainder resource, and thus can be included inthe remainder resources 132. As such, the remainder resources 132 referto processing units and/or memory devices (e.g., the unassignedprocessing units 120A-N, 126A-N and/or the unassigned memory device123A-N, 130A-N) which are currently available for assignment andallocation to implement for the creation, execution, and/orreconfiguration of a virtual machine, such as any of the virtualmachines 156A-N.

In some embodiments, each processing unit (e.g., the processing units118A-N, 124A-N) and thus also each unassigned processing unit (e.g., theunassigned processing units 120A-N, 126A-N) of a physical host server(e.g., the physical host servers 116A-N) can be accessed, allocated,and/or assigned individually via a communication port that is dedicatedor otherwise reserved specifically for the particular processing unit,such as by an instance of a dedicated communication port 119 for each ofthe processing units 118A-N, 124A-N. In various embodiments, at leastone instance of the dedicated communication port 119 can be provided foreach processing unit, such as each of the processing units 118A-N and124A-N, each having at least one, separate instance of the dedicatedcommunication port 119. In some embodiments, an instance of thededicated communication port 119 can provide an optical interface thatfacilitates optical communicative coupling. As such, an instance of thededicated communication port 119 can provide dedicated opticalcommunication from a single instance of a computing resource (e.g., aprocessing unit or a memory device) to another element within thedatacenter 110.

In various embodiments, each memory device (e.g., the memory devices122A-N, 128A-N) and thus also each unassigned memory device (e.g., theunassigned memory device 123A-N, 130A-N) can be accessed, allocated,and/or assigned individually via an instance of the dedicatedcommunication port 119 that is designated or otherwise reservedspecifically for a particular memory device. In various embodiments, aninstance of the dedicated communication port 119 is distinct from asystem bus and/or a communication bus because the dedicatedcommunication port 119 is not shared between multiple processing unitsand/or memory devices, and therefore each dedicated communication port119 may operate in a per-resource manner (i.e., each dedicatedcommunication port 119 is designated and usable for communications toand/or from a particular processing unit and/or memory device). As such,an instance of the dedicated communication port 119 can be designated orotherwise allocated for use by a particular processing unit or aparticular memory device. In some embodiments, when an instance of thededicated communication port 119 is designated for use by a processingunit, the dedicated communication port 119 may be referred to as adedicated processing port. Similarly, when an instance of the dedicatedcommunication port 119 is designated for use by a memory device, thededicated communication port 119 may be referred to as a dedicatedmemory port. If the dedicated communication port 119 is configured foroptical communication, then instances of the dedicated communicationport 119 for a processing unit or a memory device may be referred to asa dedicated optical processing port and a dedicated optical memory port,respectively. In some embodiments, each instance of a computing resource(e.g., each of the processing units 118A-N, 124A-N and/or the memorydevices 122A-N, 128A-N) can have or otherwise be connected to two ormore instances of the dedicated communication port 119. In someembodiments, the dedicated communication port 119 can be configured as adedicated fiber optic port. The dedicated communication port 119 can beconfigured to bypass a shared communication interface and/or sharedsystem bus that is internal to one of the physical host servers 116A-N(e.g., bypassing an ethernet port, a SATA interface, and an eSATAinterface, etc.). It is understood that the examples provided are forillustration purposes only, and therefore should not be construed aslimiting in any way.

In various embodiments, each of the physical computing resources of thephysical host infrastructure 114 can be accessed individually via adistinct communication path, such as any of the dedicated communicationpaths 1A-1N, 2A-2N, 3A-3N, 4A-4N, 5A-5N, and/or 6A-6N. In someembodiments, an instance of a distinct communication path can supportoptical communicative coupling, such as via a fiber optic strand of afiber optic cable. Each distinct communication path (e.g., any of thededicated communication paths 1A-1N, 2A-2N, 3A-3N, 4A-4N, 5A-5N, and/or6A-6N) can couple to an instance of the dedicated communication port119. In some embodiments, instances of a dedicated communication pathcan refer to a distinct communication path that can connect oneprocessing unit to another processing unit, one memory device to anothermemory device, and/or to the dedicated processing bus hub 140 and thededicated memory bus hub 144. For example, as illustrated in FIG. 1, thededicated communication paths 5A-5N can be configured to connect theunassigned memory devices 123A-N to the unassigned memory devices130A-N, respectively. Similarly, in some embodiments, the dedicatedcommunication paths 6A-6N can be configured to connect (and in someembodiments provide optical communicative coupling) the unassignedprocessing units 120A-N directly to the unassigned processing units126A-N, respectively. In some embodiments, each computing resource(e.g., a processing unit and/or a memory device) can have a distinctcommunication path that is configured to connect to a dedicated bus hub,such as one of the dedicated processing bus hub 140 and/or the dedicatedmemory bus hub 144, that is external to the particular physical hostserver in which the computing resource resides. For example, thedistinct, dedicated communication paths 1A-1N, 2A-2N can be configuredto connect (and in some embodiments provide optical communicativecoupling) the unassigned processing units 120A-N, 124A-N to thededicated processing bus hub 140, respectively. Similarly, the dedicatedcommunication paths 3A-3N, 4A-4N can be configured to connect (and insome embodiments provide optical communicative coupling) the unassignedmemory devices 123A-N, 130A-N to the dedicated memory bus hub 144,respectively. In some embodiments, a dedicated communication path can bereferred to as a distinct communication path.

In various embodiments, the dedicated processing bus hub 140 and thededicated memory bus hub 144 can each be configured to provide anoptical bus that interconnects two or more distinct communication pathsso that instances of unassigned processing resources and unassignedmemory resources can be grouped together to support the creation andexecution of a virtual machine. In some embodiments, the dedicatedprocessing bus hub 140 and the dedicated memory bus hub 144 can each beconfigured to include one or more instances of a multi-lane opticaltransceiver (“MLOT”), such as the MLOT 142A-N and the MLOT 146A-N,respectively. In various embodiments, an instance of an MLOT (e.g., theMLOTs 142A-N, 146A-N) can include interconnected transmitter andreceiver modules and interfaces that facilitate unidirectional and/orbi-directional communication, where one or more distinct communicationpaths may directly connect to a particular instance of the MLOT based onwhether the distinct communication path is used by an unassignedprocessing unit or an unassigned memory device. In various embodiments,each of the dedicated processing bus hub 140 and the dedicated memorybus hub 144 can allow information from two or more distinctcommunication paths to be joined, assembled, or otherwise combinedtogether to support the creation, execution, and/or (re)configuration ofa virtual machine (e.g., any of the virtual machines 156A-N). In variousembodiments, each of the dedicated processing bus hub 140 and thededicated memory bus hub 144 can be communicatively coupled to thededicated physical resource manager 160 so that processing and memoryresources can be analyzed and allocated to support creation of a virtualmachine. An example embodiment of a multi-lane optical transceiver isdiscussed below in further detail with respect to FIG. 2. In someembodiments, each of the dedicated processing bus hub 140 and thededicated memory bus hub 144 can include one or more instances of beamsplitters, laser drivers, optical ports, and/or other optical networkingelements that facilitate optical communication and coupling to, from,and/or between the physical host servers 116A-N and the dedicatedphysical resource manager 160.

In various embodiments, the physical host infrastructure 114 can supportexecution of one or more instances of an operating system, such as theoperating system 150. In an embodiment, the operating system 150illustrated in FIG. 1 may correspond with an operating system from theLINUX family of operating systems built around a LINUX kernel, howeverthis may not be the case for every embodiment. In some embodiments, theoperating system 150 can include, but is not limited to, one or moreinstances from members of the WINDOWS, WINDOWS CE, and/or WINDOWS MOBILEfamilies of operating systems from MICROSOFT CORPORATION, the LINUXfamily of operating systems, the SYMBIAN family of operating systemsfrom SYMBIAN LIMITED, the BREW family of operating systems from QUALCOMMCORPORATION, the MAC OS, OS X, and/or iOS families of operating systemsfrom APPLE CORPORATION, the FREEBSD family of operating systems, theSOLARIS family of operating systems from ORACLE CORPORATION, otheroperating systems, and the like. It should be understood that theexamples provided are for illustration purposes only, and thereforeshould not be construed as limiting in any way.

In various embodiments, the operating system 150 can have access to oneor more claimed parameters associated with a physical computing resourceof the physical host infrastructure 114, such as claimed parameters152A-N. As used herein, the phrase “claimed parameter” refers to ametric and/or specification which a particular instance of a computingresource (e.g., a processing unit and/or a memory device) is claimed(i.e., reported or otherwise alleged) to have and/or provide asoriginally configured. For example, each instance of a processingresource (e.g., the processing units 118A-N, 124A-N, and thus also theunassigned processing units 120A-N, 126A-N) can be configured to providea particular processing power (i.e., clock speed) which can be expressedin one of the claimed parameters 152A-N as a rate in cycles per second,such as megahertz per second (MHz/sec) or gigahertz per second(GHz/sec). Therefore, in an embodiment, each of the processing units118A-N, 124A-N, and thus also the unassigned processing units 120A-N,126A-N, can correspond with one of the claimed parameters 152A-N whichindicates the particular processing power for the particular processingresource. By way of example, the physical host server 116A may beconfigured to execute the processing units 118A-N, where each of theprocessing units 118A-N is claimed by the manufacturer to operate at 2.4GHz/sec. It is understood that various processing units of a particularphysical host server can have different processing powers from eachother, and thus correspond with claimed parameters that indicatedifferent values. In some embodiments, an instance of a claimedparameter (e.g., one of the claimed parameters 152A-N) may be referredto as a claimed processing parameter when the claimed parametercorresponds with, or otherwise indicates, a processing power for aninstance of a processing unit (e.g., indicated in GHz/sec).

In various embodiments, each instance of a memory resource (e.g., thememory devices 122A-N, 128A-N, and thus also the unassigned memorydevices 123A-N, 130A-N) can be configured to provide a particularstorage capacity which can be expressed in one of the claimed parameters152A-N in terms of available data storage (e.g., megabytes, gigabytes,terabytes, petabytes, etc.). Therefore, each of the memory devices122A-N, 128A-N, and thus also the unassigned memory devices 123A-N,130A-N, can correspond with one of the claimed parameters 152A-N whichcan indicate a particular available storage capacity of the particularmemory resource. By way of example, the unassigned memory devices123A-N, 130A-N can be configured as memory partitions that each providespecific data storage capacities, such as each of the unassigned memorydevices 123A-N, 130A-N providing 100 gigabytes of storage. It isunderstood that various memory devices of a particular physical hostserver can have different storage capacities from each other, and thuscorrespond with claimed parameters that indicate different values. Insome embodiments, an instance of a claimed parameter (e.g., one of theclaimed parameters 152A-N) may be referred to as a claimed memoryparameter when the claimed parameter corresponds with, or otherwiseindicates, a data storage capacity for an instance of a memory device(e.g., indicated in gigabytes). It is understood that the examplesprovided are for illustration purposes only, and therefore should not beconstrued as limiting in any way.

In various embodiments, an instance of the operating system 150 cansupport a hypervisor, such as the hypervisor 154. As illustrated in FIG.1, the hypervisor 154 can be configured as a hosted hypervisor which issupported by the operating system 150 to obtain information about theprocessing resources and memory resources, such as via the claimedparameters 152A-N. As such, in some embodiments, the operating system150 can be disposed between the physical host servers 116A-N thatsupport or otherwise host virtual machines and one or more instance ofthe hypervisor 154. In some embodiments, the hypervisor 154 mayfacilitate operations within the datacenter 110 to facilitatevirtualized functions, such as the instantiation, execution, support,and/or (re)configuration of one or more of the virtual machines 156A-N.In some embodiments, when the hypervisor 154 is configured as a hostedhypervisor, the hypervisor 154 may not have root access to a kernel ofone or more of the physical host servers 116A-N of the physical hostinfrastructure 114, and therefore may rely on the operating system 150and/or the dedicated physical resource manager 160 to provide access toinformation about physical computing resources to support the virtualmachines 156A-N. In some embodiments, the hypervisor 154 may receiveinstructions from the dedicated physical resource manager 160 tofacilitate creation and/or configuration of one or more of the virtualmachines 156A-N. It should be understood that the examples provided arefor illustration purposes only, and therefore should not be construed aslimiting in any way.

In various embodiments, the datacenter 110 can support one or moreinstances of a virtual machine, such as the virtual machines 156A-N,where the total number of virtual machines supported by the datacenter110 can vary dependent on the particular configuration and/or computingrequirements of the datacenter 110. Therefore, although three instancesof a virtual machine are illustrated in FIG. 1, it is understood thatvarious embodiments can have a different number of virtual machinespresent within the datacenter 110. In various embodiments, the virtualmachines 156A-N can be hosted by computing resources provided by thephysical host infrastructure 114. Each of the virtual machines 156A-Ncan extend the functionality of the underlying physical computingresources (e.g., the physical host servers 116A-N) because instances ofunassigned processing units (e.g., the unassigned processing units120A-N, 126A-N) and unassigned memory devices (e.g., the unassignedmemory devices 123A-N, 130A-N) can be selected, assigned, and allocatedto operate collectively to support one or more of the virtual machines156A-N despite two or more instances of physical computing resourcesbeing located in different physical host servers within the datacenter110. Therefore, in various embodiments, the physical computing resources(e.g., any of the processing units 118A-N, 124A-N and/or the memorydevices 122A-N, 128A-N) can be allocated and assigned to provide thevirtual computing resources for the virtual machines 156A-N. In variousembodiments, virtual computing resources can include a virtual processorand/or a virtual memory that can be scaled based on the needs of aparticular virtual machine. The virtual machines 156A-N can support oneor more network services that are virtualized and provide one or morecommunication, storage, and/or processing capabilities for thedatacenter 110. For example, an instance of one of the virtual machines156A-N can be configured as, or otherwise perform operations associatedwith, one or more of virtual switches, virtual routers, virtualizedrouting functions, a virtual tap, a virtual network interfacecontroller, a virtual storage device, a virtual server, or other virtualnetwork functions. In some embodiments, each of the virtual machines156A-N may be siloed from each other such that each virtual machineoperates independent of the other, however this may not necessarily bethe case in every embodiment. In some embodiments, a virtual machine canbe created or torn-down (i.e., uninstantiated) based on the requirementsand/or demand of the datacenter 110. It should be understood that theexamples provided are for illustration purposes only, and thereforeshould not be construed as limiting in any way.

As illustrated in FIG. 1, the datacenter 110 can include an instance ofthe network administration controller 158. In some embodiments, thenetwork administration controller 158 can be configured as a standalonecomputing system and/or a program module that communicatively couples tothe SDN gateway 112. In some embodiments, the network administrationcontroller 158 may provide a user interface so that one or more clientdevices, such as an instance of the client device 106, can be presentedwith and/or provided information and/or input associated with thecreation and/or removal of the virtual machines 156A-N and/or any otheroperations pertaining to the datacenter 110. In some embodiments, a userassociated with the client device 106 may provide input via an interfacepresented by the network administration controller 158. In someembodiments, the network administration controller 158 may be configuredto operate as part of a service offered by the datacenter 110. In someembodiments, the network administration controller 158 can facilitatemanagement in the assignment of physical computing resources within thedatacenter 110. For example, in some embodiments, the networkadministration controller 158 may receive input from within thedatacenter 110 and/or via the network 102 regarding a request to createa virtual machine, such as illustrated in FIG. 1 as a virtual machinecreation request 180. In some embodiments, the virtual machine creationrequest 180 may be provided on an ad hoc basis based on the particulardemands of the datacenter 110 to use virtualized services. In someembodiments, the virtual machine creation request 180 may initiate arequest to create or otherwise instantiate a virtual machine that hasnot yet been created. For example, in an embodiment, the virtual machine156A may have not yet been created, and thus the virtual machinecreation request 180 may request the creation of a virtual machine(e.g., the virtual machine 156A) to fulfill a virtual processingrequirement, such as a virtual processing requirement 181, and a virtualmemory requirement, such as a virtual memory requirement 182, for avirtual machine (e.g., the virtual machine 156A). The virtual processingrequirement 181 can indicate an amount of processing power (e.g., aclock speed in MHz, GHz, etc.) that the virtual machine requires tosupport virtualized operations of the datacenter 110. The virtual memoryrequirement 182 can indicate an amount of data storage capacity that thevirtual machine requires to support virtualized operations of thedatacenter 110. For example, in an embodiment, an instance of thevirtual machine creation request 180 can include the virtual processingrequirement 181 and the virtual memory requirement 182, where thevirtual processing requirement 181 indicates that a virtual machineshould provide at least 4 GHz processing power, and the virtual memoryrequirement 182 indicates that a virtual machine should provide at least50 gigabytes of data storage capacity. It is understood that theexamples provided are for illustration purposes only, and thereforeshould not be construed as limiting in any way.

In some embodiments, the virtual machine creation request 180 may beprovided by the operating system 150 and/or the network administrationcontroller 158 to the hypervisor 154. In some embodiments, the dedicatedphysical resource manager 160 can monitor the hypervisor 154 andintercept the virtual machine creation request 180 prior to the creationof the virtual machine that is the object of the virtual machinecreation request 180 (e.g., the virtual machine 156A). In someembodiments, the virtual machine creation request 180 may be providedfrom the operating system 150 and/or the network administrationcontroller 158 to the dedicated physical resource manager 160, which canperform one or more operations on behalf of and/or in cooperation withthe hypervisor 154 to provide allocation, assignment, and distributionof computing resources of the physical host infrastructure 114. In someembodiments, the dedicated physical resource manager 160 can interceptthe virtual machine creation request 180 from reaching the hypervisor154 and/or instruct the network administration controller 158, theoperating system 150, and/or the hypervisor 154 to provide the virtualmachine creation request 180 to the dedicated physical resource manager160 prior to the creation of a virtual machine (e.g., any of the virtualmachines 156A-N). It is understood that the examples provided are forillustration purposes only, and therefore should not be construed aslimiting in any way.

In various embodiments, the datacenter 110 can include one or moreinstances of the dedicated physical resource manager 160. In someembodiments, the dedicated physical resource manager 160 can beconfigured to operate on a physical computer system of the datacenter110, such as an instance of a computing system discussed below withrespect to FIG. 8. In some embodiments, the dedicated physical resourcemanager 160 can include or otherwise have access to a physical hostinfrastructure map 162 that is associated with the physical hostinfrastructure 114. In various embodiments, the physical hostinfrastructure map 162 can provide a dynamic mapping of the computingresources which are included in the physical host infrastructure 114,and which of the virtual machines 156A-N are assigned to use one or moreinstances of processing resources and/or memory resources of thephysical host infrastructure 114. In various embodiments, the physicalhost infrastructure map 162 can include an index of some and/or all ofthe physical processing units, physical memory devices, andcommunication paths that can be used to support various virtual machinesof the datacenter 110. For example, the physical host infrastructure map162 can include the processing unit identifiers 164A-N, communicationpath identifiers 165A-N, and the memory device identifiers 166A-N. Eachof the processing unit identifiers 164A-N can correspond with, identify,or otherwise indicate a particular physical processing unit instance,such as one of the processing units 118A-N, 124A-N (which includes theunassigned processing units 120A-N, 126A-N). Each of the memory deviceidentifiers 166A-N can correspond with, identify, or otherwise indicatea particular memory device instance, such as one of the memory devices122A-N, 128A-N (which includes the unassigned memory devices 123A-N,130A-N). Each of the communication path identifiers 165A-N cancorrespond with, identify, or otherwise indicate a particular dedicatedcommunication path instance, such as one of the dedicated communicationpaths 1A-1N, 2A-2N, 3A-3N, 4A-4N, 5A-5N, and 6A-6N. In variousembodiments, the physical host infrastructure map 162 can associate,point, or otherwise provide a reference to an instance of a claimedparameter (e.g., from among the claimed parameters 152A-N) for each ofthe processing unit identifiers 164A-N, communication path identifiers165A-N, and memory device identifiers 166A-N.

For example, in an embodiment, the unassigned processing units 120A,120B, and 120N may be configured from a hardware manufacturer to providean alleged processing power of 1.8 GHz/sec, 2.4 GHz/sec, and 2.4GHz/sec, respectively, and thus a corresponding instance of a claimedprocessing parameter from among the claimed parameters 152A-N can belinked to, or otherwise referenced, for the processing unit identifiers(from among the processing unit identifiers 164A-N) which correspond tothe processing units 120A, 120B, and 120N. By way of another example, inan embodiment, the unassigned memory devices 123A-N may be configuredfrom a hardware manufacturer to provide an alleged storage capacity of64 gigabytes, 128 gigabytes, and 1 terabyte, respectively, and thus acorresponding instance of a claimed memory parameter from among theclaimed parameters 152A-N can be linked to, or otherwise referenced forthe memory device identifiers (from among the memory device identifiers166A-N) which correspond to the unassigned memory devices 123A-N. In anembodiment, the dedicated physical resource manager 160 can indicate orotherwise link to an instance of a claimed parameter (from among theclaimed parameters 152A-N) for a particular dedicated communication pathcorresponding to one of the communication path identifiers 165A-N. Forexample, an instance of a claimed parameter for one of the dedicatedcommunication paths (e.g., one of the dedicated communication paths1A-1N, 2A-2N, 3A-3N, 4A-4N, 5A-5N, and 6A-6N) can provide an allegedthroughput capability (e.g., measured in Gb/sec transfer rate). It isunderstood that the examples provided are for illustration purposesonly, and therefore should not be construed as limiting in any way.

In some embodiments, the physical host infrastructure map 162 caninclude one or more instances of actual parameters for the computingresources of the physical host infrastructure 114, such as actualparameters 153A-N. Each of the actual parameters 153A-N can provideaccurate, usable metrics and/or values for one of a processing unit, amemory device, or a communication path, which may be different from acorresponding one of the claimed parameters 152A-N. Stated simply, aclaimed parameter (e.g., from one of the claimed parameters 152A-N)provides an alleged or otherwise theoretical resource value for acomputing resource (e.g., a processing resource and/or a memoryresource), while an actual parameter (e.g., from one of the actualparameters 153A-N) can provide a real-world, actual, or otherwise usable(and therefore more accurate) resource value which the dedicatedphysical resource manager 160 can use to adjust, configure, and/orreconfigure which physical computing sources should be assigned,allocated, and dedicated to support a particular virtual machine. Forexample, in an embodiment, the unassigned processing unit 120A may havea claimed processing parameter of 1.8 GHz/sec processing power, howeverdue to latency in data transfer and routing, the unassigned processingunit 120A may have an actual, usable processing power of 1.4 GHz/secprocessing power, which is reflected by a corresponding instance of oneof the actual parameters 153A-N. Similarly, the unassigned memory device130B may have a claimed memory parameter of 100 gigabytes of storagecapacity, however due to storage of OEM data (e.g., firmware, systemregistry, portions of the operating system 150, any other data requiredto enable data storage functionality) or any other currently storeddata, the actual available and usable data storage space may be 85gigabytes, which is reflected by an instance of one of the actualparameters 153A-N corresponding to the unassigned memory device 130A.Therefore, in various embodiments, for each instance of a processingunit, dedicated communication path, and memory device of the physicalhost infrastructure, the physical host infrastructure map 162 canindicate or otherwise provide the corresponding resource identifier(i.e., a corresponding processing unit identifier, communication pathidentifier, memory device identifier), the status of the computingresource (i.e., whether corresponding processing unit, dedicatedcommunication path, or memory device is currently assigned andunavailable, or unassigned and available), the claimed parameter for thecomputing resource (e.g., the claimed clock speed, storage capacity,throughput, etc.), and the actual parameter for the computing resource(e.g., the usable clock speed, available and accessible storagecapacity, and actual throughput).

In various examples, the dedicated physical resource manager 160 cankeep inventory of physical computing resources, their correspondinglocations, and whether a particular physical computing resource (e.g., aprocessing unit or a memory device) is assigned (and thus allocated anddedicated for use by an existing virtual machine) or unassigned (andthus available for use by an existing and/or yet to be created virtualmachine). The dedicated physical resource manager 160 can analyze anddetermine which physical computing resources of the physical hostinfrastructure 114 should be utilized and allocated to support thecreation of a virtual machine, such as the virtual machine 156A. Assuch, the dedicated physical resource manager 160 can use the physicalhost infrastructure map 162 to identify the remainder resources 132 ofthe physical host infrastructure 114, such as any of the unassignedprocessing units 120A-N, 126A-N and the unassigned memory devices123A-N, 130A-N. In various embodiments, one or more instances of theprocessing units 118A-N, 124A-N and/or the memory devices 122A-N, 128A-Ncan be considered a remainder resource (e.g., one of the remainderresources 132) when the particular computing resource is unassigned,unallocated, and/or otherwise available to access and implement for thecreation, execution, and/or (re)configuration of a virtual machine(e.g., any of the virtual machines 156A-N). For example, in someembodiments, the dedicated physical resource manager 160 receives thevirtual machine creation request 180 requesting the creation of avirtual machine (e.g., the virtual machine 156A), and therefore includesthe virtual processing requirement 181 and the virtual memoryrequirement 182. The dedicated physical resource manager 160 can create,or in some embodiment access, a simulation test routine, such as aninstance of a simulation test routine 168, that is based on the virtualprocessing requirement 181 and the virtual memory requirement 182. Forexample, the simulation test routine 168 can be configured to mimic theprocessing and data storage load that would be experienced by theprocessing resources and memory resources of the physical hostinfrastructure 114 once the virtual machine 156A is up and running. Insome embodiments, the simulation test routine 168 can be configured suchthat the simulation test routine 168 can be sent to the physical hostinfrastructure 114 with instructions to send portions of data (i.e.,data segments) to specifically identified remainder resources (i.e.,processing resources and/or memory resources that are available andunassigned) via the use of particular dedicated communication paths.

In some embodiments, the simulation test routine 168 can be configuredto mimic the processing load, network traffic, and/or data storage thatwould be experienced during the operation of a virtual machine (which isrequested to be created or reconfigured if already created). Thesimulation test routine 168 can be executed and performed on instancesof remainder resources which are selected as candidates to potentiallysupport, host, or otherwise facilitate operation of a virtual machine.For example, the dedicated physical resource manager 160 can assemble acandidate resource set, such as a candidate resource set 170, from theremainder resources 132 which are available to support a virtualmachine. The candidate resource set 170 can include one or moreinstances of unassigned processing units and/or unassigned memorydevices as physical resource candidates to support a virtual machine,such as illustrated in FIG. 1 by the candidate resource set 170including candidate processing units 172A-N and candidate memory devices174A-N. The candidate processing units 172A-N can include one or moreinstances of the unassigned processing units 120A-N, 126A-N from theremainder resources 132, and one or more instances of the unassignedmemory devices 123A-N, 130A-N from the remainder resources 132.Therefore, in various embodiments, an instance of the candidate resourceset 170 can be uniquely assembled for each virtual machine creationrequest 180 based on the particular requirements indicated by thevirtual machine creation request 180. It is understood that each of thecandidate processing units 172A-N and each of the candidate memorydevices 174A-N can correspond with a particular processing unitidentifier (e.g., one of the processing unit identifiers 164A-N) ormemory device identifier (e.g., one of the memory device identifiers166A-N), respectively. By this, the candidate resource set 170 canindicate which of the remainder resources (i.e., which of the unassignedprocessing unites 120A-N, 126A-N, and/or unassigned memory devices123A-N, 130A-N) are candidates to support and host a virtual machine.

The dedicated physical resource manager 160 can use the candidateresource set 170 to determine whether the virtual processing requirement181 and the virtual memory requirement 182 would be satisfied by thecandidate processing units 172A-N and the candidate memory devices174A-N which are selected for inclusion in the candidate resource set170. To verify and confirm that the requirements of the virtual machinecreation request 180 can be satisfied by the candidate resource set 170,the dedicated physical resource manager 160 can execute the simulationtest routine 168, which can provide data to the candidate resources inthe candidate resource set 170 (i.e., the candidate processing units172A-N and the candidate memory devices 174A-N) to execute or otherwiseperform functions which, for the candidate processing units 172A-N,would mimic a virtual processing load as defined by the virtualprocessing requirement 181, and for the candidate memory devices 174A-Nwould impose the data storage load as defined by the virtual memoryrequirement 182. In some embodiments, the simulation test routine 168can be configured so that, once performed or otherwise executed, theparticular remainder resource instance (e.g., the unassigned processingunits and/or unassigned memory devices which are being used as candidateprocessing units and candidate memory devices) are instructed orotherwise caused to respond with actual resource values, such as to theactual processing power of the particular processing unit and/or theactual data storage capacity of the particular memory device, which canbe used to create (or if already existing, then update) a correspondingone of the actual parameters 153A-N. The dedicated physical resourcemanager 160 can have an independent, dedicated communication path toeach dedicated bus hub, such as communication path 7 that is dedicatedto providing a route for data processing to and/or from the dedicatedphysical resource manager 160 and the dedicated processing bus hub 140,and/or dedicated communication path 8 that is dedicated to providing aroute for data storage to and/or from the dedicated physical resourcemanager 160 and the dedicated memory bus hub 144.

In various embodiments, the dedicated physical resource manager 160 canestablish which of the dedicated communication paths pertaining tophysical processing units within the physical host infrastructure 114(i.e., from among the dedicated communication paths 1A-1N, 2A-2N, 6A-6N,and 7 dedicated to physical processing units) should be used so that thecandidate processing units 172A-N can be aggregated to collectivelyprovide enough processing power to satisfy the virtual processingrequirement 181, and which of the dedicated communication pathspertaining to physical memory devices within the physical hostinfrastructure 114 (i.e., from among the dedicated communication paths3A-3N, 4A-4N, and 5A-5N dedicated to physical memory devices) should beused so that the candidate memory devices 174A-N can be aggregated tocollectively provide enough data storage capacity to satisfy the virtualmemory requirement 182. Specifically, the dedicated physical resourcemanager 160 can establish a dedicated processing path 176 that indicatesand identifies one or more communication paths within the physical hostinfrastructure 114 that should be used so that the processing by thecandidate processing units 172A-N can be aggregated to collectivelysatisfy the virtual processing requirement 181. Therefore, the dedicatedprocessing path 176 may not necessarily be limited to a singlecommunication path, but rather can refer to two or more communicationpaths that are dedicated solely to the processing units supporting avirtual machine. Therefore, in various embodiments, the dedicatedprocessing path 176 for the candidate resource set 170 can be anaggregation of multiple communication paths (e.g., from among thecommunication paths 1A-1N, 2A-2N, 6A-6N, and 7) that can collectivelyenable routing of raw data to be processed and/or routing of processeddata to, from, and/or within the candidate processing units 172A-Nselected from among the remainder resources 132 to support thecorresponding virtual machine. Similarly, the dedicated physicalresource manager 160 can establish a dedicated memory path 178 thatindicates and identifies one or more communication paths within thephysical host infrastructure 114 that should be used so that the datastorage by the candidate memory devices 174A-N can be aggregated tocollectively satisfy the virtual memory requirement 182. The dedicatedmemory path 178 may not necessarily be limited to a single communicationpath, but can refer to two or more communication paths that arededicated solely to the memory devices supporting a virtual machine.Therefore, in various embodiments, the dedicated memory path 178 for thecandidate resource set 170 can be an aggregation of multiplecommunication paths (e.g., from among the dedicated communication paths3A-3N, 4A-4N, 5A-5N, and 8) that can collectively enable routing of rawdata to be stored and/or accessed within the candidate memory devices174A-N selected from among the remainder resources 132 to support thecorresponding virtual machine.

By way of example, an embodiment will be discussed to clarify thepresent disclosure. In an embodiment, the virtual machine creationrequest 180 may request the creation of a virtual machine (e.g., thevirtual machine 156A) using physical computing resources that satisfythe virtual processing requirement 181 of 4 GHz/sec and the virtualmemory requirement 182 of 60 gigabytes of data storage capacity. Thededicated physical resource manager 160 can access the physical hostinfrastructure map 162 and determine that the physical computingresources which make up the remainder resources 132 are available (i.e.,any of the unassigned processing units 120A-N, 126A-N and the unassignedmemory devices 123A-N, 130A-N). The dedicated physical resource manager160 can use the processing unit identifiers 164A-N and the memory deviceidentifiers 166A-N to identify the resources values (e.g., processingpower, data storage capacity, etc.) indicated by the correspondingclaimed parameters 152A-N for the remainder resources 132. In thisexample, the dedicated physical resource manager 160 can select orotherwise include the unassigned processing units 120A, 120N, and 126Nas candidates (i.e., candidate processing units 172A-N) in the candidateresource set 170, and thus the particular processing unit identifier,from among the processing unit identifiers 164A-N, for each of theunassigned processing units 120A, 120N, and 126N can be reflected as thecandidate processing units 172A-N within the candidate resource set 170.In this example, the unassigned processing units 120A, 120N, and 126Ncan each have claimed processing parameters of 2.1 GHz/sec processingpower. The dedicated physical resource manager 160 may designate theunassigned processing units 120A and 120N as candidate processing units,which can be indicated by the corresponding processing unit identifiers164A-N being referenced by the candidate processing units 172A-N for thevirtual machine creation request 180. Initially, the unassignedprocessing units 120N and 126N may be selected because the correspondingclaimed processing parameters (e.g., from among the claimed parameters152A-N) indicate a processing power of 2.4 GHz/sec, which in turncollectively should provide 4.8 GHz/sec, thereby theoreticallysatisfying the virtual processing requirement 181 of 4 GHz/sec in thisexample.

Continuing with the above example, the dedicated physical resourcemanager 160 can continue assembly of the candidate resource set 170based on the virtual machine creation request 180 by designatingcandidate memory devices, such as the candidate memory devices 174A-N,to satisfy the virtual memory requirement 182 of 60 gigabytes of data,in this example. Specifically, the dedicated physical resource manager160 can include the unassigned memory devices 123A and 130A as candidatememory devices (i.e., the candidate memory devices 174A-N correspondingto the virtual machine creation request 180) in the candidate resourceset 170 because the unassigned memory devices 123A and 130A are claimedto be able to each store 40 gigabytes of data. The dedicated physicalresource manager 160 can configure the candidate resource set 170 suchthat the particular memory device identifier for each of the unassignedmemory devices 123A and 130A, such as one or more of the correspondingmemory device identifiers 166A-N, can be reflected as the candidatememory devices 174A-N within the candidate resource set 170. In thisexample, the unassigned memory devices 123A and 130A can each have aclaimed memory parameter (e.g., indicated by one of the claimedparameters 152A-N) that indicates a data storage capacity of 40gigabytes, which collectively should provide 80 gigabytes of datastorage capacity, and thus theoretically should satisfy the virtualmemory requirement 182 of 60 gigabytes, in this example.

Continuing with the above example, the dedicated physical resourcemanager 160 can establish an instance of the dedicated processing path176 and an instance of the dedicated memory path 178 for the candidateresource set 170 based on the candidate processing units 172A-N and thecandidate memory devices 174A-N, respectively. The dedicated processingpath 176 and/or the dedicated memory path 178 can serve to activate oneor more communication paths between the candidate processing units172A-N and the candidate memory devices 174A-N, respectively, tofacilitate satisfaction of the virtual processing requirement 181 andthe virtual memory requirement 182. For the dedicated processing path176, the dedicated physical resource manager 160 can activate andaggregate one or more communication paths to directly inter-connect theunassigned processing units 120N and 126N, which for the example abovecan include any of: the communication path 7 communicatively couples thededicated processing bus hub 140 with the dedicated physical resourcemanager 160; the communication path 1N from the dedicated processing bushub 140 to the unassigned processing unit 120N; the communication path6N from the unassigned processing unit 120N to the unassigned processingunit 126N; and the communication path 2N from the dedicated processingbus hub 140 to the unassigned processing unit 126N. Therefore, in anembodiment, the dedicated processing path 176 can be initiallyconfigured so that processed and/or unprocessed data can be sent to,from, and/or between the candidate processing unit 172A-N, which in thisexample can correspond with the unassigned processing units 120N and126N. In a similar manner, the dedicated memory path 178 can beconfigured to aggregate and activate one or more communication paths todirectly inter-connect the unassigned memory devices 123A and 130A,which for the example above can include any of: the communication path 8to access the dedicated memory bus hub 144 from the dedicated physicalresource manager 160; the communication path 3A that connects theunassigned memory device 123A to the dedicated memory bus hub 144; thecommunication path 5A that connects the unassigned memory device 123A tothe unassigned memory device 130A; and the communication path 4A thatconnects the unassigned memory device 130A to the dedicated memory bushub 144. Therefore, in an embodiment, the dedicated memory path 178 canbe initially configured so that processed and/or unprocessed data can bestored in and/or between the candidate memory devices 174A-N, which inthis example can correspond with the unassigned memory devices 123A and130A.

Continuing with the above example, to determine whether the candidateresource set 170 will actually, and not just theoretically, satisfy thevirtual processing requirement 181 and the virtual memory requirement182, the dedicated physical resource manager 160 can generate thesimulation test routine 168 based on the virtual processing requirement181 and the virtual memory requirement 182. Specifically, the simulationtest routine 168 can include one or more data packages that can provideand mimic a processing load in order to test whether the candidateprocessing units 172A-N can satisfy the virtual processing requirement181. The simulation test routine 168 can also be configured with a filesize that mimics the virtual memory requirement 182, thereby enablingverification of whether the candidate memory devices 174A-N can provideenough data storage capacity to satisfy the virtual memory requirement182. The dedicated physical resource manager 160 can initiate thesimulation test routine 168 by distributing the simulation test routine168 to the candidate resource set 170 (i.e., the unassigned processingunits and unassigned memory devices which are assigned to the candidateresource set 170) via the dedicated processing path 176 and thededicated memory path 178. Therefore, as the simulation test routine 168is executing, one or more of the communication paths for the dedicatedprocessing path 176 and/or the dedicated memory path 178 can passprocessed and unprocessed data to, from, and between the candidateprocessing units 172A-N and the candidate memory devices 174A-N toverify whether the virtual processing requirement 181 and the virtualmemory requirement 182 will be satisfied. The simulation test routine168 can be configured to provide the dedicated physical resource manager160 with results (e.g., one or more instances of resource values thatcorrespond with one of the actual parameters 153A-N) of the actualprocessing power and the actual data storage capacity.

In various embodiments, the dedicated physical resource manager 160 candetermine whether the candidate resource set 170 (whether that be aninitial or subsequent iteration) can satisfy the virtual processingrequirement 181 and the virtual memory requirement 182 for creating andsustaining a virtual machine (e.g., the virtual machine 156A). Based onthe simulation test routine 168, the dedicated physical resource manager160 can compare the actual parameters 153A-N to the claimed parameters152A-N corresponding to the candidate processing units 172A-N and thecandidate memory devices 174A-N (which in the example above initiallycorrespond with the unassigned processing units 120N, 126N and theunassigned memory devices 123A, 130A, respectively). By way of example,the dedicated physical resource manager 160 may determine, based on thesimulation test routine 168, that the unassigned processing units 120N,126N each provide an actual, usable processing power of 1.8 GHz/sec(which may be reflected in a corresponding one of the actual parameters153A-N), and thus the unassigned processing units 120N, 126N yield acollective processing power of 3.6 GHz/sec, which is less than thevirtual processing requirement 181 of 4 GHz/sec, in this example. Thecause for the differential between one or more of the actual parameters153A-N and a corresponding one or more of the claimed parameters 152A-Ncan be due to the remainder resources 132 each running necessarysubroutine for the operating system 150, processing and/or storingfirmware, drivers, or any other required operation, process, and/or datathat may be fundamental to keeping any of the remainder resources 132active. In some embodiments, the physical length of the communicationpaths (e.g., any of the dedicated communication paths 1A-1N, 2A-2N,3A-3N, 4A-4N, 5A-5N, 6A-6N, etc.) may cause latency that effectivelydecreases the processing power of the unassigned processing units withinthe remainder resources 132. In some embodiments, the read/write speedof one or more unassigned memory device of the remainder resources 132can introduce latency that can effectively diminish or overall impedethe physical resource capabilities of the physical host infrastructure114, thereby potentially causing the candidate resource set 170 (ascurrently configured) to be unable to satisfy the virtual processingrequirement 181 and/or the virtual memory requirement 182. In variousembodiments, when either the virtual processing requirement 181 and/orthe virtual memory requirement 182 is not satisfied by the candidateresource set 170 (as currently configured), the dedicated physicalresource manager 160 may determine the total discrepancy between thetarget requirement and the actual parameter, such as how much of adifferential in GHz/sec exists between the actual processing parameterand the virtual processing requirement 181 and/or the differentialbetween the virtual memory requirement 182 and the actual data storageparameter.

In various embodiments, if the virtual processing requirement 181 and/orthe virtual memory requirement 182 is not satisfied by the candidateresource set 170 (as currently configured), the dedicated physicalresource manager 160 may determine whether any of the remainderresources 132 are still available for use to supplement and cure thedeficiency in processing power and/or storage capacity of the candidateresource set 170, as currently configured. In some embodiments, if oneor more instances of the remainder resources 132 are available (i.e., ifone or more instances of an unassigned processing unit and/or anunassigned memory device remain available for inclusion in the candidateresource set 170 and are not yet designated to support another virtualmachine or other task), then the dedicated physical resource manager 160may reconfigure the candidate resource set 170 to include anotherphysical resource from the remainder resources 132. For example, in theexample discussed above, the actual processing power of the unassignedprocessing units 120N, 126N (which were initially designated as thecandidate processing units 172A-N) may each have been 1.8 GHz/sec,yielding a collective processing capability of 3.6 GHz/sec, which islower than the virtual processing requirement of 4 GHz/sec, in theexample. The dedicated physical resource manager 160 can determine thatthe unassigned processing unit 120A remains available, and thusreconfigures the candidate resource set 170 by including the unassignedprocessing unit 120 as one of the candidate processing units 172A-N. Insome embodiments, the dedicated physical resource manager 160 canreinitiate the simulation test routine 168 using the reconfiguredcandidate resource set (i.e., the candidate resource set 170 which hasbeen reconfigured such that the candidate processing units 172A-N nowinclude the unassigned processing units 120A, 120N, and 126N). Inresponse to the simulation test routine 168, in some embodiments, thededicated physical resource manager 160 may determine that the inclusionof the supplemental unassigned processing unit (e.g., the unassignedprocessing unit 120A) provides another 1.8 GHz/sec processing power,thereby enabling the candidate processing units 172A-N to collectivelyprovide 5.4 GHz/sec processing power, which satisfies the virtualprocessing requirement 181. By this, reconfiguring the candidateresource set 170 to include another remainder resource (e.g., theunassigned processing unit 120A) can enable the candidate resource set170 to satisfy the virtual processing requirement 181 and the virtualmemory requirement 182 so as to create and sustain the virtual machine156A. In some embodiments, the virtual memory requirement 182 may nothave been satisfied by a particular configuration of the candidatememory devices 174A-N. As such, the dedicated physical resource manager160 can identify one of the remainder resources 132 that can cure thedata storage differential between the virtual memory requirement 182 andthe actual data storage capacity, such as by the addition of one or moreunassigned memory devices 123B-123N, and/or 130B-130N.

In some embodiments, the dedicated processing path 176 and/or thededicated memory path 178 (corresponding to the candidate resource set170) may be reconfigured so that dedicated communication paths can beincluded and/or removed. For example, if the candidate resource set 170is reconfigured such that the candidate processing units 172A-N nowinclude the unassigned processing unit 120A, then the dedicatedprocessing path 176 can be reconfigured so that the dedicatedcommunication path 1A is activated and implemented to connect theprocessing resources of the candidate resource set 170. By this, dataand information can be provided to, from, and/or between the unassignedprocessing units 120A, 120N, and 126N, the dedicated processing bus hub140, and the dedicated physical resource manager 160. Because thededicated processing path 176 can include the aggregation of two or morededicated communication paths, subsequent reconfigurations to thecandidate resource set 170 may also cause the reconfiguration of thededicated processing path 176. In a similar manner, if the candidateresource set 170 is reconfigured so as to alter the designation of anunassigned memory device as one of the candidate memory devices 174A-N,then the dedicated memory path 178 may also be reconfigured. Forexample, if the unassigned memory device 130N becomes designated as oneof the candidate memory devices 174A-N, then the corresponding dedicatedcommunication path 4N can be activated and included in the dedicatedmemory path 178. To clarify, each of the dedicated processing path 176and the dedicated memory path 178 can reserve, designate, activate,and/or isolate.

In some embodiments, the dedicated processing path 176 and/or thededicated memory path 178 may be reconfigured irrespective of whetherthe candidate resource set 170 is reconfigured (i.e., irrespective ofwhether designation of resources are added or removed from the candidateprocessing units 172A-N and/or the candidate memory devices 174A-N). Forexample, in an embodiment, the candidate processing units 172A-N maycorrespond with the unassigned processing units 120A and 126A. In anembodiment, the dedicated processing path 176 may have initially beenconfigured to aggregate and include the communication path 7, thededicated communication path 1A and the dedicated communication path 2A.In such as configuration, the dedicated processing bus hub 140 may serveas the only relay by which the unassigned processing units 120A and 126Acan optically communicate with each other, which in some embodiments maycontribute to an increase in latency, which may affect the effectiveprocessing power provided. Thus, in an embodiment, the dedicatedprocessing path 176 can be reconfigured to activate the dedicatedcommunication path 6A that provides a direct (optical) connectionbetween the unassigned processing units 120A and 126A. In someembodiments, this can cause a decrease in latency, thereby effectivelyincreasing the processing power of the candidate processing units172A-N. In some embodiments, activating another dedicated communicationpath so as to be considered a part of either the dedicated processingpath 176 or the dedicated memory path 178 can cause one of the actualparameters 153A-N to be altered because the physical resource is nowable to operate closer to one of the corresponding claimed parameters152A-N. For example, after executing the simulation test routine 168,the collective processing power of the unassigned processing units 120Aand 126A (in this example designated as the candidate processing units172A-N) may be reflected in the actual parameters 153A-N as 1.8 GHz/seceach, collectively yielding 3.6 GHz/sec. In an embodiment, the dedicatedprocessing path 176 may have been reconfigured to activate the dedicatedcommunication path 6A, thereby providing a direct (optical) connectionbetween the unassigned processing units 120A and 126A. Once thesimulation test routine 168 is reinitiated and reperformed, thereconfiguration of the dedicated processing path 176 (e.g., by theaddition of the dedicated communication path 6A) may have enabledunprocessed data to be transferred between the unassigned processingunits 120A and 126A more efficiently, thereby rendering thecorresponding actual parameters 153A-N for the unassigned processingunits 120A and 126A to yield a processing power of 2.1 GHz/sec,collectively yielding 4.2 GHz/sec, which is larger than the virtualprocessing requirement 181 of 4 GHz/sec, in this example. As such, thevirtual processing requirement 181 can be satisfied in response toreconfiguration of the dedicated processing path 176, withoutnecessarily having to reconfigure the candidate resource set 170. Asimilar scenario may be provided by reconfiguring the dedicated memorypath 178 while preserving the composition of the candidate memorydevices 174A-N. For example, the dedicated communication path 5A may beadded to the dedicated memory path 178 so as to enable direct (optical)connection between the unassigned memory devices 130A and 123A. Byincluding the dedicated communication path 5A as component route (i.e.,a part or segment) of the dedicated memory path 178, the latency betweenthe unassigned memory devices 123A, 130A may decrease, which may enableone or more of the candidate processing units 172A-N to access datafaster, thereby enabling one or more of the virtual processingrequirement 181 and/or the virtual memory requirement 182 to besatisfied. Therefore, in some embodiments, the virtual processingrequirement 181 and/or the virtual memory requirement 182 may besatisfied in response to reconfiguring the dedicated processing path 176and/or the dedicated memory path 178 without altering the remainderresources 132 of the candidate resource set 170 (i.e., without adding toor removing from the candidate processing units 172A-N and the candidatememory devices 174A-N). By this, reconfiguring the dedicated processingpath 176 and/or the dedicated memory path 178 can enable the candidateresource set 170 to satisfy the virtual processing requirement 181 andthe virtual memory requirement 182.

In various embodiments, once the dedicated physical resource manager 160determines that the virtual processing requirement 181 and the virtualmemory requirement 182 can be satisfied by implementing the candidateresource set 170, the dedicated processing path 176, and the dedicatedmemory path 178, the processing units and memory devices whichcorrespond to the candidate processing units 172A-N and the candidatememory devices 174A-N may be assigned to the creation of a virtualmachine (e.g., the virtual machine 156A), and thus no longer bedesignated as one of the remainder resources 132 since the processingunit or memory device is no longer unassigned. This is because theprocessing units and memory devices may no longer be considered“unassigned” due to their designation as being implemented to supportthe virtual machine (e.g., the virtual machine 156A). As such, thephysical host infrastructure map 162 can be updated so that theprocessing units and memory devices corresponding to the candidateresource set 170 are designated as assigned, and thus no longeravailable as one of the remainder resources 132 (i.e., no longer anunassigned processing unit or unassigned memory device).

In various embodiments, the virtual processing requirement 181 and thevirtual memory requirement 182 are determined to be satisfied, and thededicated physical resource manager 160 can create an instance of thevirtual machine creation instruction 184. The virtual machine creationinstruction 184 can designate which of the physical computing resourcesand communication paths are to be used to support the creation and/orconfiguration of a virtual machine (e.g., the virtual machine 156A). Forexample, in an embodiment, the candidate processing units 172A-N and thecandidate memory devices 174A-N of the candidate resource set 170 whichsatisfy the virtual processing requirement 181 and the virtual memoryrequirement 182 can correspond with the unassigned processing units120A, 126A and the unassigned memory devices 123A, 130A, respectively.Each of the unassigned processing units 120A, 126A can correspond withone of the processing unit identifiers 164A-N and each of the unassignedmemory devices 123A, 130A can correspond with one of the memory deviceidentifiers 166A-N. As such, the virtual machine creation instruction184 can include one or more of the processing unit identifiers 164A-Nand one or more of the memory device identifiers 166A-N associated withthe candidate resource set 170 such that the hypervisor 154 and/or theoperating system 150 is instructed to utilize the identified processingunits and memory devices to support the virtual machine. Additionally,in some embodiments, the virtual machine creation instruction 184 caninclude identifiers of the dedicated communication paths which make upthe dedicated processing path 176 and the dedicated memory path 178(e.g., from among the communication path identifiers 165A-N).

In various embodiments, the dedicated physical resource manager 160 caninstruct the hypervisor 154 to create the virtual machine 156A using thecandidate resources set 170, the dedicated processing path 176, and thededicated memory path 178 as indicated in the virtual machine creationinstruction 184. In some embodiments, the virtual machine creationinstruction 184 may command the hypervisor 154 to ignore or otherwisesuppress reference to the claimed parameters 152A-N provided by theoperating system 150, and instead rely on identifiers and the actualparameters 153A-N provided by the dedicated physical resource manager160 (e.g., via the virtual machine creation instruction 184). It isunderstood that the concepts and technologies discussed herein improvethe functioning of the datacenter 110 by addressing technical challengesthat arise because of, and specifically within, the realm to networktechnology pertaining to datacenters. It is understood that the examplesprovided are for illustration purposes only, and therefore should not beconstrued as limiting in any way.

FIG. 1 illustrates one or more instance of the network 102, the networkaccess point 104, the client device 106, the datacenter 110, the SDNgateway 112, the physical host infrastructure 114, the physical hostservers 116A-N, the dedicated communication port 119, the processingunits 118A-N, the unassigned processing units 120A-N, the memory devices122A-N, the unassigned memory devices 123A-N, the processing units124A-N, the unassigned processing units 126A-N, the memory devices128A-N, the unassigned memory devices 130A-N, the remainder resources132, the dedicated processing bus hub 140, the MLOT 142A-N, thededicated memory bus hub 144, the MLOT 146A-N, the operating system 150,the claimed parameters 152A-N, the hypervisor 154, the virtual machines156A-N, the network administration controller 158, the dedicatedphysical resource manager 160, the physical host infrastructure map 162,the processing unit identifiers 164A-N, the communication pathidentifiers 165A-N, the memory device identifiers 166A-N, the actualparameters 153A-N, the simulation test routine 168, the candidateresource set 170, the candidate processing units 172A-N, the candidatememory devices 174A-N, the dedicated processing path 176, the dedicatedmemory path 178, the virtual machine creation request 180, the virtualprocessing requirement 181, the virtual memory requirement 182, and thevirtual machine creation instruction 184. It should be understood,however, that some implementations of the operating environment 100 caninclude zero, one, or more than one instances of these elements of theoperating environment 100 shown in FIG. 1. As such, the illustratedembodiment of the operating environment 100 should be understood asbeing illustrative, and should not be construed as being limiting in anyway.

Turning now to FIG. 2, with continued reference to FIG. 1, a blockdiagram 200 that facilitates dedicated optical distribution of computingresources in virtualized environments is provided, according to anillustrative embodiment. The block diagram 200 includes a multi-laneoptical transceiver (“MLOT”) 201. In various embodiments, each of theMLOTs 142A-N, 146A-N can be configured at least similar to an embodimentof the MLOT 201 illustrated in FIG. 1. In some embodiments, an MLOT(e.g., the MLOT 201 and/or the MLOTs 142A-N, 146A-N) can be configuredas a full duplex, photonic-integrated optical transceiver that providesa high-speed link (e.g., via one or more of the dedicated communicationpaths 1A-1N, 2A-2N, 3A-3N, 4A-4N) with an aggregated data rate (e.g.,less than 40 Gb/s, 40 Gb/s, 100 Gb/s, 400 Gb/s, 1 Tb/s, any data rate inbetween the data rates listed, or more than 1 Tb/s) that can operatewith full and/or partial transmit functionality and full and/or partialreceive functionality in one or more hosts devices (e.g., the physicalhost servers 116A-N and/or the dedicated physical resource manager 160).In various embodiments, an MLOT can be configured to comply with one ormore industry standards, such as but not limited to, an Institute ofElectrical and Electronics Engineers (“IEEE”) standard (e.g., an IEEE802.3 standard), an International Telecommunication UnionTelecommunication standardization Sector (“ITU-T”) standard (e.g.,G.959.1), and/or other industry standards known to one of ordinary skillin the technology.

In various embodiments, an MLOT (e.g., the MLOT 201 and/or the MLOTs142A-N, 146A-N) can include a transmission optical sub-assembly (“TOSA”)202, and a receiver optical sub-assembly (“ROSA”) 212. In someembodiments, an MLOT can include a processor and a memory that can routeor otherwise direct one or more communications to, from, and/or withinthe physical host infrastructure 114 and/or the datacenter 110. In someembodiments, the dedicated physical resource manager 160 may providefunctionality to make decisions as to how data should be handled by eachof the TOSA 202 and/or the ROSA 212. In some embodiments, the TOSA 202can include a multiplexer 204, a plurality of optical transmitters206A-N, and an optical distributor 208. The optical distributor 208 canbe communicatively coupled to the optical transmitters 206A-N. Each ofthe optical transmitters 206A-N can be communicatively coupled with themultiplexer 204. In some embodiments, the optical distributor 208 caninclude a continuous time linear equalizer that can collect andsynchronize data that is conveyed electrically from one or moreinstances of a dedicated communication interface 220. In someembodiments, the optical distributor 208 can segment a data package intoa plurality of data package segments so as to distribute related dataacross multiple processing resources (e.g., any of the unassignedprocessing units 120A-N, 126A-N) and/or memory resources (e.g., any ofthe unassigned memory devices 123A-N, 130A-N) which collectively supporta virtual machine associated with the data packet. In some embodiments,the optical distributor 134, 166 can act upon the instruction of thededicated physical resource manager 160. In some embodiments, thephysical host infrastructure map 162 can indicate which of the opticaltransmitters 206A-N are active and/or should be active and used tooptically transmit data to a processing resource and/or a memoryresource of the physical host infrastructure 114. In some embodiments,the dedicated physical resource manager 160 can indicate how data shouldbe segmented or otherwise distributed between the processing resourcesand/or memory resources, and therefore which of the optical transmitters206A-N should be used to distribute data to the underlying physicalresources which support a virtual machine (e.g., any of the virtualmachines 156A-N). In some embodiments, the optical distributors 208 caninclude a clock-data recovery chip or circuitry that syncs and times therelay of segments of data. In some embodiments, an instance of anoptical transmitter (e.g., any of the optical transmitters 206A-N) caninclude an optical device driver, such as but not limited to, one ormore of a laser device driver and/or a light emitting diode devicedriver. Each of the optical transmitters 206A-N can generate and providean optical signal corresponding to a specific wavelength via one or moreoptical device driver that drives a laser and/or light emitting diode ata specific wavelength. Because each of the optical transmitters 206A-Nmay correspond with a different dedicated communication path (e.g., thededicated communication paths 1A-1N, 2A-2N, 3A-3N, 4A-4N), in someembodiments, each of the dedicated communication paths 1A-1N, 2A-2N,3A-3N, 4A-4N may be associated with a specific wavelength that isprovided by the corresponding optical transmitter. It is understood thatthe examples provided are for illustration purposes only, and thereforeshould not be construed as limiting in any way.

In some embodiments, the ROSA 212 can be configured to receive opticaltransmissions via a dedicated communication path (e.g., the dedicatedcommunication paths 1A-1N, 2A-2N, 3A-3N, 4A-4N). In some embodiments,the ROSA 212 can include a demultiplexer 214, a plurality of opticalreceivers 216A-N, and a receiver amplifier 218. The demultiplexer 214can receive the transmissions from two or more of the dedicatedcommunication paths 1A-1N, 2A-2N, 3A-3N, 4A-4N, where the transmissionmay be optically multiplexed together. The demultiplexer 214 canoptically separate the incoming transmissions into separate wavelengthscorresponding to each of the dedicated communication paths 1A-1N, 2A-2N,3A-3N, 4A-4N corresponding to the various processing resources and/ormemory resources of the physical host servers 116A-N. The communicationscan be passed along from the demultiplexer 214 to the optical receivers216A-N. In some embodiments, one or more instances of the opticalreceivers 216A-N can include a photodetector and/or a photonic diodethat can convert the received transmissions from each of the dedicatedcommunication paths 1A-1N, 2A-2N, 3A-3N, 4A-4N into electricaltransmissions that are routed to the receiver amplifier 218, which inturn can route the communications to the dedicated physical resourcemanager 160 via the dedicated communication interface 220. The receiveramplifier 218 can include one or more of a transimpedance amplifier, alimiting amplifier, and/or a clock and data recovery chip that canrecover the output from the optical receivers 216A-N, sync, retime, andreshape the data transmissions corresponding to each dedicatedcommunication path so that the data package segments can be sent to thededicated physical resource manager 160 for analysis and any otheroperations discussed herein. It is understood that the examples providedare for illustration purposes only, and therefore should not beconstrued as limiting in any way.

Turning now to FIGS. 3 and 4, with continued reference to FIGS. 1 and 2,aspects of a method 300 dedicated optical distribution of computingresources for virtualized environments and a method 400 for assembling acandidate resource set to facilitate dedicated optical distribution ofcomputing resources for virtualized environments will be described indetail, according to illustrative embodiments. It should be understoodthat each of the operations of the one or more methods disclosed herein(e.g., the method 300 and/or the method 400 discussed below) are notnecessarily presented in any particular order and that performance ofsome or all of the operations in an alternative order(s) is possible andis contemplated. It is also understood that any of the operations fromthe methods disclosed herein may be combined or otherwise arranged toyield another embodiment of a method that is within the scope of theconcepts and technologies discussed herein. The operations have beenpresented in the demonstrated order for ease of description andillustration, and therefore should not be construed as limiting thevarious embodiments disclosed herein. Operations may be added, omitted,and/or performed simultaneously and/or sequentially, without departingfrom the scope of the concepts and technologies disclosed herein.

It also should be understood that the methods disclosed herein can beended at any time and need not be performed in its entirety. Some or alloperations of the methods, and/or substantially equivalent operations,can be performed by execution of computer-readable instructions storedand included on a computer storage medium, as defined herein. The term“computer-readable instructions,” and variants thereof, as used herein,is used expansively to include routines, applications, applicationmodules, program modules, programs, components, data structures,algorithms, and the like. It is understood that use of the term “module”refers to a defined, callable set of computer-readable instructions thatprovide the performance of one or more operations and functionsdiscussed herein so as to transform, upon execution, processingresources and/or memory resources into a particular, non-generic,machine. Computer-readable instructions can be implemented on varioussystem configurations including single-processor or multiprocessorsystems, minicomputers, user equipment, mainframe computers, personalcomputers, network servers, hand-held computing devices,microprocessor-based, programmable consumer electronics, combinationsthereof, and the like.

Thus, it should be appreciated that the logical operations describedherein are implemented (1) as a sequence of computer implemented acts orprogram modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance and other requirements of the computing system.Accordingly, the logical operations described herein are referred tovariously as states, operations, structural devices, acts, or modules.These states, operations, structural devices, acts, and modules may beimplemented in software, in firmware, in special purpose digital logic,and any combination thereof. As used herein, the phrase “cause aprocessor to perform operations” and variants thereof is used to referto causing and transforming a processor of a computing system or device,such as any element within the datacenter 110 (e.g., the physical hostinfrastructure 114, the physical host server 116A-N, the dedicatedphysical resource manager 160, and/or any other element supported withinthe datacenter 110), and/or the network 102 to perform one or moreoperations and/or causing the processor to direct other components ofthe computing system or device to perform one or more of the operations.

For purposes of illustrating and describing the concepts of the presentdisclosure, the methods disclosed herein are described as beingperformed by one or more instance of the physical host infrastructure114 via execution of one or more software modules (i.e., executable dataprocesses that instruct and transform a processor) such as, for example,the dedicated physical resource manager 160 that configure one or moreprocessors within the datacenter 110. In some embodiments, the dedicatedphysical resource manager 160 may be configured as a computing systemthat includes one or more instances of a processor and/or memory whichoperate within the datacenter 110. It should be understood thatadditional and/or alternative devices and/or network elements can, insome embodiments, provide the functionality described herein viaexecution of one or more modules, applications, and/or other softwareincluding, but not limited to, the other instances of the physical hostservers 116A-N within and/or outside the datacenter 110. Thus, theillustrated embodiments are illustrative, and should not be viewed asbeing limiting in any way. The methods 300 and 400 will be describedwith reference to one or more of the FIGS. 1 and 2.

Turning now to FIG. 3, the method 300 begins and proceeds to operation302, where the dedicated physical resource manager 160 can receive thevirtual machine creation request 180, which can include the virtualprocessing requirement 181 and the virtual memory requirement 182. Insome embodiments, the virtual machine creation request 180 may bereceived from any of the network administration controller 158, thehypervisor 154, and/or the operating system 150. In various embodiments,the virtual processing requirement 181 and/or the virtual memoryrequirement 182 may have been defined or otherwise established by any ofthe network administration controller 158, the hypervisor 154, and/orthe operating system 150. In various embodiments, the virtual machinecreation request 180 can request that a virtual machine (e.g., thevirtual machine 156A) be created or otherwise instantiated such thatvarious physical resources of the physical host infrastructure 114 cansupport virtualized processing and memory operations. In variousembodiments, the dedicated physical resource manager 160 may beconfigured to intercept the virtual machine creation request 180 fromthe hypervisor 154 so that the physical resources (e.g., physicalprocessing units and physical memory devices) can be assigned orotherwise designated by the dedicated physical resource manager 160instead of by the hypervisor 154. As such, the dedicated physicalresource manager 160 may instruct any of the hypervisor 154, theoperating system 150, and/or the network administration controller 158to route the virtual machine creation request 180 to the dedicatedphysical resource manager 160 prior to the creation or reconfigurationof the requested virtual machine (e.g., the virtual machine 156A).

From operation 302, the method 300 can proceed to operation 304, wherethe dedicated physical resource manager 160 can access the physical hostinfrastructure map 162 to identify which physical resources (e.g., theprocessing units 118A-N, 124A-N and/or the memory devices 122A-N,128A-N) are unassigned or otherwise available to aggregate together forthe support and creation (or reconfiguration) of a virtual machine(e.g., the virtual machine 156A). The physical host infrastructure map162 can identify the remainder resources 132 that are provided by thephysical host servers 116A-N within the datacenter 110. Specifically,the remainder resources 132 can include one or more processing unitsand/or memory devices that are unassigned or otherwise available (e.g.,the unassigned processing units 120A-N, 126A-N and the unassigned memorydevices 123A-N, 130A-N) for implementation and aggregation so that oneor more instances of physical computing resources belonging to theremainder resources 132 can be individually activated and bundled tosupport the request virtual machine.

From operation 304, the method 300 can proceed to operation 306, wherethe dedicated physical resource manager 160 can create an instance ofthe simulation test routine 168 based on the virtual processingrequirement 181 and the virtual memory requirement 182. For example, insome embodiments, the simulation test routine 168 can include apredefined set of computer instructions that cause one or more physicalresources of the remainder resources 132 (e.g., any unassignedprocessing unit and/or unassigned memory device) to mimic the processingload and/or memory utilization that would occur when the virtual machinehas been created, where the amount of processing load and memoryutilization corresponds with the virtual processing requirement 181 andthe virtual memory requirement 182.

From operation 306, the method 300 can proceed to operation 308, wherethe dedicated physical resource manager 160 can assemble the candidateresource set 170 using one or more physical computing resources providedby the remainder resources 132. In various embodiments, the candidateresource set 170 can include at least one instance of an unassignedprocessing unit (e.g., any of the unassigned processing units 120A-N,126A-N) and at least one instance of an unassigned memory device (e.g.,any of the unassigned memory devices 123A-N, 130A-N). The unassignedprocessing units and unassigned memory devices which are to be includedin the candidate resource set 170 may be designated as a candidateprocessing unit or a candidate memory device, such as one of thecandidate processing units 172A-N or the candidate memory devices174A-N. Designation of the candidate processing units 172A-N and thecandidate memory devices 174A-N can be based on the designatedunassigned processing units and designated unassigned memory devicescollectively providing enough virtual processing power and virtualmemory storage (in the aggregate) to theoretically satisfy the virtualprocessing requirement 181 and the virtual memory requirement 182. Insome embodiments, the candidate resource set 170 can be assembled basedon the claimed parameters 152A-N and/or the actual parameters 153A-N,where designation of processing units and memory devices from theremainder resources 132 as candidates for the candidate resource set 170enable the request virtual machine to be created and sustained. Aparticular configuration of the candidate resource set 170 (i.e., whichprocessing units and memory devices are considered to be among thecandidate processing units 172A-N and the candidate memory devices174A-N) may be tested to confirm that the candidate resource set 170will actually satisfy (instead of theoretically satisfy) the virtualprocessing requirement 181 and the virtual memory requirement 182, asfurther discussed below. In some embodiments, the method 300 may proceedto one or more operations discussed with respect to the method 400illustrated in FIG. 4. It is understood that the examples provided arefor illustration purposes only, and should not be construed as limitingin any way.

From operation 308, the method 300 can proceed to operation 310, wherethe dedicated physical resource manager 160 can establish the dedicatedprocessing path 176 and the dedicated memory path 178 for the candidateresource set 170. For example, the dedicated physical resource manager160 can determine which of the communication path identifiers 165A-Ncorrespond with the candidate processing units 172A-N and the candidatememory devices 174A-N, and once identified, assign the selectedinstances from the communication path identifiers 165A-N to therespective dedicated processing path 176 and the dedicated memory path178. By this, the dedicated processing path 176 can include a pluralityof dedicated communication paths that provide direct connections to,from, and/or between unassigned processing units of the candidateresource set 170, and thus are reserved exclusively to support virtualprocessing of the request virtual machine (e.g., the virtual machine156A). The dedicated processing path 176 may route data via thededicated processing bus hub 140 that is external to the physical hostservers 116A-N, and enables (optical) communicative coupling directlybetween individual processing units, without having to traverse a sharedcommunication bus internal to one of the physical host server 116A-N.Similarly, the dedicated memory path 178 can include a plurality ofdedicated communication paths that provide direct connections to, from,and/or between unassigned memory devices of the candidate resource set170, and thus are reserved exclusively to support virtual processing ofthe request virtual machine (e.g., the virtual machine 156A). Thededicated memory path 178 may route data via the dedicated memory bushub 144 that is external to the physical host servers 116A-N, andenables (optical) communicative coupling directly between individualmemory device, without having to traverse a shared communication businternal to one of the physical host server 116A-N.

From operation 310, the method 300 can proceed to operation 312, wherethe dedicated physical resource manager 160 can initiate the simulationtest routine 168 on the candidate resource set 170 via the dedicatedprocessing path 176 and the dedicated memory path 178. Specifically, thesimulation test routine 168 can be activated and executed on theprocessing units and memory devices corresponding to the candidateprocessing units 172A-N and candidate memory devices 174A-N,respectively. The simulation test routine 168 can yield one or moreinstances of the actual parameters 153A-N which correspond to thecandidate processing units 172A-N and candidate memory devices 174A-N,thereby indicating whether the claimed parameters 152A-N are accurateand whether the candidate resource set 170 can satisfy the virtualprocessing requirement 181 and the virtual memory requirement 182.

From operation 312, the method 300 can proceed to operation 314, wherethe dedicated physical resource manager 160 can determine whether thecandidate resource set 170 satisfies the virtual processing requirement181 and the virtual memory requirement 182 for the virtual machine 156A.For example, as a result of the simulation test routine 168, thededicated physical resource manager 160 may be provided with one or moreinstances of the actual parameters 153A-N, such as for actual processingpower and actual data storage capacity. The dedicated physical resourcemanager 160 can determine whether the unassigned processing units willcumulatively provide enough processing power (in the aggregate) tosatisfy the virtual processing requirement 181, and whether theunassigned memory devices will cumulatively provide enough data storagecapacity to satisfy the virtual memory requirement 182. In variousembodiments, once the dedicated physical resource manager 160 determinesthat both the virtual processing requirement 181 and the virtual memoryrequirement 182 are satisfied, then the method 300 can proceed along theYES path to operation 334, which is discussed below. If the dedicatedphysical resource manager 160 determines that either the virtualprocessing requirement 181 or the virtual memory requirement 182 are notsatisfied, then the method 300 can proceed along the NO path tooperation 316. For clarity purposes, a discussion following the NO pathto operation 316 will be provided first, followed by a discussion alongthe YES path to operation 334, which will be provided below.

At operation 316, the dedicated physical resource manager 160 candetermine whether any of the remainder resources 132 are available tosupplement the candidate resource set 170 and remedy the deficiency sothat both of the virtual processing requirement 181 and the virtualmemory requirement 182 can be satisfied. For example, in an embodiment,the candidate resource set 170 may include the unassigned processingunits 120A, 126A, and the unassigned memory devices 123A, 130A. Thededicated physical resource manager 160 can determine that within theremainder resources 132, the unassigned processing units 120B-N, 126B-N,and the unassigned memory devices 123B-N, 130B-N remain available foruse. In some embodiments, if the needed physical resource (e.g., eithera processing unit or memory device) is unassigned and available tosupplement the candidate resource set 170, then the method 300 canproceed along the YES path to operation 318, which will be discussedbelow. In some embodiments, the remainder resources 132 (beyond thosealready included in the current candidate resource set 170) may not beavailable, and therefore none of the needed physical resources provideby the physical host servers 116A-N can be used to supplement thecurrent configuration of the candidate resource set 170. Therefore, inan embodiment, if the remainder resources 132 (besides those alreadyincluded in the candidate resource set 170) are not available, themethod 300 may proceed along the NO path to operation 326. For claritypurposes, a discussion along the YES path to operation 318 will beprovided first, followed by a discussed of operation 326 provided below.

At operation 318, the dedicated physical resource manager 160 mayidentify the additional instances of unassigned resources from theremainder resources 132 that can be used to supplement the candidateresource set 170. For example, if the current configuration of thecandidate resource set 170 does not satisfy the virtual processingrequirement 181 because another 1.2 GHz/sec processing power is needed,then the dedicated physical resource manager 160 can determine that theunassigned processing unit 120B provides 1.8 GHz/sec (e.g., based on oneof the claimed parameters 152A-N or actual parameters 153A-N), which ismore than the current deficiency.

From operation 318, the method 300 can proceed to operation 320, wherethe dedicated physical resource manager 160 can reconfigure thecandidate resource set 170 to include another remainder resource, suchas any unassigned processing unit or unassigned memory device from theremainder resources 132 which has not already been included in thecandidate resource set. In some embodiments, reconfiguring the candidateresource set 170 may occur in response to the dedicated physicalresource manager 160 determining that the candidate resource set 170does not satisfy at least one of the virtual processing requirement 181or the virtual memory requirement 182 for the virtual machine 156A, andtherefore the reconfiguration may specifically address the correspondingdeficiency. Therefore, in various embodiments, reconfiguration of thecandidate resource set 170 can include supplementing the candidateprocessing units 172A-N and/or the candidate memory devices 174A-N withthe identified additional remainder resource in order to satisfy theassociated deficiency, such as by adding an unassigned processing unitfrom the remainder resources 132 to satisfy the virtual processingrequirement 181 and/or adding an unassigned memory device from theremainder resources 132 to satisfy the virtual memory requirement 182.For example, if the virtual processing requirement 181 has not been met,then the dedicated physical resource manager 160 can reference theidentifier from the processing units identifiers 164A-N whichcorresponds to processing unit which should cure the deficiency, such asthe unassigned processing unit 120B which can be designated as one ofthe candidate processing units 172A-N.

From operation 320, the method 300 can proceed to operation 322, wherethe dedicated physical resource manager 160 can reinitiate thesimulation test routine 168 to confirm that the reconfiguration of thecandidate resource set 170 (e.g., by supplementing the candidateresource set 170 with additional processing units and/or memory devicesbased on whether the deficiency corresponds with the virtual processingrequirement 181 or the virtual memory requirement 182).

From operation 322, the method 300 can proceed to operation 324, where,the dedicated physical resource manager 160 can determine whetherreconfiguration of the candidate resource set 170 enables the virtualprocessing requirement 181 or the virtual memory requirement 182 to besatisfied. After performing the simulation test routine 168 if both thevirtual processing requirement 181 and the virtual memory requirement182 are satisfied in response to reconfiguration of the candidateresource set 170, then the method 300 may proceed from operation 324along the YES path to operation 334, which will be discussed below infurther detail. If either the virtual processing requirement 181 or thevirtual memory requirement 182 are not satisfied in response toreconfiguration of the candidate resource set 170, then the method 300may proceed from operation 324 along the NO path to operation 326. Asdiscussed above in operation 316, in some embodiments, additionalremainder resources may not be available because additional instances ofthe unassigned processing units and/or unassigned memory devices(besides those currently included in the candidate resource set 170)have been or are in the process of being assigned and thus are currentlyunavailable for allocation and consideration for inclusion as part ofthe candidate resource set 170. Therefore, in various embodiments, ifeither additional remainder resources are not available and/or both ofthe virtual processing requirement 181 and the virtual memoryrequirement 182 are not satisfied, then the method 300 may proceed tooperation 326 (from either operation 316 or operation 324). In someembodiments, the method 300 may perform operation 326 irrespective ofwhether one or more instances of the remainder resources 132 areavailable. It is understood that the examples provided are forillustration purposes only, and therefore should not be construed aslimiting.

At operation 326, the dedicated physical resource manager 160 canreconfigure at least one of the dedicated processing path 176 or thededicated memory path 178 for the candidate resource set 170. In someembodiments, reconfiguring either the dedicated processing path 176 orthe dedicated memory path 178 can occur in response to determining thatthe candidate resource set 170 does not satisfy at least one of thevirtual processing requirement 181 or the virtual memory requirement 182for the requested virtual machine (e.g., the virtual machine 156A). Invarious embodiments, reconfiguring the dedicated processing path 176 orthe dedicated memory path 178 can include identifying one or morededicated communication paths that could be activated and used toprovide a more direct route to, from, and/or between physical resources.For example, in an embodiment, if the dedicated processing path 176currently includes activation of the dedicated communication paths 1Aand 2A to the unassigned processing units 120A, 126A, respectively(because those may be included in the candidate resource set 170), thenthe dedicated physical resource manager 160 can reconfigure thededicated processing path 176 by including and activating the dedicatedcommunication path 6A that directly connects the unassigned processingunit 120A to the unassigned processing unit 126A, thereby reducingprocessing latency and potentially improving the actual processing powerindicated by a corresponding one of the actual parameters 153A-N. Inthis example, dedicated communication path 6A can correspond with one ofthe communication path identifiers 165A-N, and thus the particularcommunication path identifier can be referenced by the dedicatedprocessing path 176.

From operation 326, the method 300 can proceed to operation 328, where,the dedicated physical resource manager 160 can reinitiate thesimulation test routine 168 to obtain actual parameters (e.g., any ofthe actual parameters 153A-N) corresponding to the processing units andmemory devices that are included in the candidate resource set 170.

From operation 328, the method 300 can proceed to operation 330, wherethe dedicated physical resource manager 160 can determine whether thevirtual processing requirement 181 and the virtual memory requirement182 are satisfied, specifically in response to, and based on,reconfiguring at least one of the dedicated processing path 176 or thededicated memory path 178. In various embodiments, reconfiguring atleast one of the dedicated processing path 176 or the dedicated memorypath 178 may reduce the latency by which data and communication aretransferred to, from, and/or within the datacenter 110, and thereforecan improve the actual parameters 153A-N so that the candidate resourceset 170 can satisfy the virtual processing requirement 181 and thevirtual memory requirement 182 for the virtual machine 156A. Therefore,in some embodiments, if both the virtual processing requirement 181 andthe virtual memory requirement 182 are satisfied by the candidateresource set 170 and use of the dedicated processing path 176 and thededicated memory path 178, then the method 300 can proceed along the YESpath from operation 330 to operation 334, which will be discussed infurther detail below. In some embodiments, if both the virtualprocessing requirement 181 and the virtual memory requirement 182 arenot satisfied, then the method 300 can proceed from operation 330 alongthe NO path to operation 332. For clarity, a discussion of the method300 proceeding along the NO path to operation 332 will be providedfirst, followed by a discussion of the method 300 proceeding along theYES path to operation 334.

At operation 332, the dedicated physical resource manager 160 can waitfor available remainder resources within the physical host servers116A-N, such as by monitoring the physical host infrastructure map 162to detect a change in status to “unassigned” for any of the processingunits or memory devices (depending on which requirement is notsatisfied).

In some embodiments, the method 300 may proceed from operation 332 tooperation 316, discussed above, so as to continue to check whetheradditional physical computing resources from the remainder resources 132are available to satisfy the virtual processing requirement 181 and/orthe virtual memory requirement 182. In some embodiments, from operation332, the method 300 can proceed to operation 340, where the method 300may end. In some embodiments, the method 300 may proceed from operation332 to operation 334, which is discussed below.

In various embodiment, the method 300 may proceed to operation 334,where the dedicated physical resource manager 160 can generate thevirtual machine creation instruction 184 that can identify the candidateresource set 170, the dedicated processing path 176, and the dedicatedmemory path 178 that should be used to creation the virtual machine156A. Specifically, the virtual machine creation instruction 184 canidentify the processing units and memory devices that are included orotherwise designated within the candidate processing units 172A-N andcandidate memory devices 174A-N, respectively. Similarly, the dedicatedprocessing path 176 and the dedicated memory path 178 can indicate thecollection of separate dedicated communication paths that are usedexclusively for data processing (in the case of the dedicated processingpath 176) or data storage (in the case of the dedicated memory path178). In some embodiments, the virtual machine creation instruction 184can instruct the hypervisor 154 to ignore the claimed parameters 152A-Nand use the physical resources indicated by the candidate resource set170.

From operation 334, the method 300 may proceed to operation 336, wherethe dedicated physical resource manager 160 can instruct the hypervisor154 to create the virtual machine 156A using the candidate resource set170, the dedicated processing path 176, and the dedicated memory path178, specifically by providing the virtual machine creation instruction184 to the hypervisor 154. In various embodiments, instructing thehypervisor 154 to create the virtual machine 156A using the candidateresource set 170 can occur in response to determining that candidateresource set 170 satisfies the virtual processing requirement 181 andthe virtual memory requirement for the virtual machine 156A as discussedabove.

In some embodiments, the method 300 may proceed from operation 336 tooperation 340, where the method 300 may end. In some embodiments, themethod 300 may proceed from operation 336 to operation 338, where thededicated physical resource manager 160 can update the physical hostinfrastructure map 162 based on implementation of the candidate resourceset 170 to create the virtual machine 156A. Specifically, processingunits and the memory devices identified as candidates in the candidateresource set 170 are being put into use, and therefore are no longerconsidered to be unassigned. As such, the physical host infrastructuremap 162 can reflect the change in status by indicating that theresources identified in the candidate resource set 170 are no longer“unassigned,” and therefore no longer belong to, or are otherwiseconsidered to be, a part of the remainder resources 132.

From operation 338, the method 300 may proceed to operation 340, wherethe method 300 may end.

Turning now to FIG. 4, the method 400 for assembling a candidateresource set to facilitate dedicated optical distribution of computingresources for virtualized environments is provided, according to anillustrated embodiment. In some embodiments, one or more operations ofthe method 400 may support or otherwise be included to facilitate theoperation of the method 300. For example, in some embodiments, one ormore of the operations of the method 400 can follow or otherwise beperformed in relation to operation 308 discussed above with respect tothe method 300.

In various embodiments, the method 400 can begin and proceed tooperation 402, where the dedicated physical resource manager 160 canextract the virtual processing requirement 181 and the virtual memoryrequirement 182 from the virtual machine creation request 180. In someembodiments, the hypervisor 154 and/or the operating system 150 mayinclude, or otherwise point to, one or more instances of the claimedparameters 152A-N to indicate what the alleged (or claimed) capabilitiesof one or more physical resources from the perspective of the operatingsystem 150 and/or the hypervisor 154 are. Because the hypervisor 154 maynot have root-level access to a kernel of one or more of the physicalhost servers 116A-N, the hypervisor 154 may defer the selection,designation, and allocation of physical computing resources to thededicated physical resource manager 160, even in instances where theoperating system 150 has requested that the hypervisor 154 create avirtual machine (e.g., the virtual machine 156A).

From operation 402, the method 400 can proceed to operation 404, wherethe dedicated physical resource manager 160 can identify which of theremainder resources 132 are available and unallocated within thephysical host infrastructure. Specifically, the dedicated physicalresource manager 160 can identify unassigned processing units (e.g., anyof the unassigned processing units 120A-N, 126A-N) and/or unassignedmemory devices (e.g., any of the unassigned memory devices 123A-N,130A-N) that could be implemented to support the creation and executionof a virtual machine, such as the virtual machine 156A.

From operation 404, the method 400 can proceed to operation 406, wherethe dedicated physical resource manager 160 can obtain the claimedparameters 152A-N which correspond to the remainder resources 132 thatare identified (e.g., one or more of the claimed parameters 152A-N thatcorrespond with any of the unassigned processing units 120A-N, 126A-Nand/or the unassigned memory devices 123A-N, 130A-N).

From operation 406, the method 400 can proceed to operation 408, wherethe dedicated physical resource manager 160 can determine whether eachof the remainder resources 132 corresponds with a separate instance ofthe dedicated communication port 119 and thus a dedicated communicationpath. By this, the dedicated physical resource manager 160 can isolateonly those physical resources (i.e., unassigned processing units andunassigned memory devices in the remainder resources 132) that can beaccessed directly and individually, without having data pass through ashared bus on a physical host server (e.g., a communication bus that isinternal to any of the physical host servers 116A-N and would be sharedby other processing units and/or memory devices). Stated differently,the dedicated physical resource manager 160 can determine whether aphysical resource can be accessed via a communication path that isdedicated solely to the particular instance of the physical resource,such as via any of the dedicated communication paths 1A-1N, 2A-2N,3A-3N, 4A-4N, 5A-5N, and/or 6A-6N. In various embodiments, an instanceof the dedicated communication port 119 (e.g., an optical port) can beimplemented on each end of a dedicated communication path. Therefore, ifa physical resource is associated with an instance of the dedicatedcommunication port 119, then the physical resource will be available viaa dedicated communication path (e.g., one instance of the dedicatedcommunication port 119 at the unassigned processing unit 120A andanother instance of the dedicated communication port 119 at thededicated processing bus hub 140, with the dedicated communication path1A providing communicative coupling therebetween). As such, one or moreof the dedicated communication paths can be grouped together to form orotherwise create an instance of the dedicated processing path 176 or thededicated memory path 178.

In various embodiments, if a physical resource (e.g., any unassignedprocessing unit and/or unassigned memory device) cannot be accesseddirectly via an instance of the dedicated communication port 119 and adedicated communication path, then the method 400 may proceed along theNO path to operation 410, where the dedicated physical resource manager160 can remove the physical resource from being one of the remainderresources 132 by designating, within the physical host infrastructuremap 162, the particular unassigned processing unit or unassigned memorydevice as “unavailable.” By this, the particular processing unit and/ormemory device will not be eligible for consideration to support thecreation and execution of a virtual machine, specifically because thatparticular resource cannot be individually accessed, and thus would notbe aggregated with other resources from the remainder resources 132. Insome embodiments, the method 400 may proceed from operation 410 tooperation 404 discussed above, where one or more of the operations 404,406, and/or 408 may be repeated. In some embodiments, the method 400 mayproceed from operation 410 to operation 418, where the method 400 canend.

Returning to operation 408, in some embodiments, an unassignedprocessing unit and/or an unassigned memory device has a dedicatedcommunication path, and thus is eligible to be aggregated for assemblyinto the candidate resource set 170, then the method 400 may proceedalong the YES path to operation 412. At operation 412, the dedicatedphysical resource manager 160 can designate, from among the remainderresources 132, candidates to support virtual processing operations andcandidates to support virtual memory operations in order to attempt tosatisfy the virtual processing requirement 181 and the virtual memoryrequirement 182, respectively. For example, the dedicated physicalresource manager 160 can select one or more of the unassigned processingunits 120A-N, 126A-N for designation as the candidate processing units172A-N. Similarly, the dedicated physical resource manager 160 canselect one or more of the unassigned memory devices 123A-N, 130A-N fordesignation as the candidate memory devices 174A-N. The selection anddesignation of the candidate processing units 172A-N and/or candidatememory devices 174A-N may initially be based on an instance of one ofthe claimed parameters 152A-N corresponding to the particular unassignedprocessing unit or unassigned memory device. In some embodiments, theselection and designation of the candidate processing units 172A-Nand/or the candidate memory devices 174A-N may be based on the lastrecorded value provided by an instance from the actual parameters 153A-Ncorresponding to the particular unassigned processing unit or unassignedmemory device. The designation of the candidate processing units 172A-Nand/or the candidate memory devices 174A-N can be based on designationof the least amount of processing units and memory devices that can beused to satisfy both the virtual processing requirement 181 and thevirtual memory requirement 182.

From operation 412, the method 400 can proceed to operation 414, wherethe dedicated physical resource manager 160 can identify the dedicatedcommunication paths which correspond to the unassigned processing unitsand unassigned memory devices that are designated and included in thecandidate processing units 172A-N or the candidate memory devices174A-N, respectively. Specifically, the physical host infrastructure map162 may indicate which of the dedicated communication path identifiers165A-N correspond with either of the processing unit identifiers 164A-Nand/or memory device identifiers 166A-N for a particular physicalresource. For example, in an embodiment, the unassigned processing unit120A may be designated for inclusion in the candidate processing units172A-N. The physical host infrastructure map 162 may indicate that theunassigned processing unit 120A corresponds with the processing unitidentifier 164A. The physical host infrastructure map 162 may alsoindicate that the processing unit identifier 164A is associated with thecommunication path identifier 165A, which can be an identifier for thededicated communication path 1A between the unassigned processing unit120A and the dedicated processing bus hub 140. It is understood that thephysical host infrastructure map 162 may also indicate any otheridentifiers of communication paths which are associated with aparticular physical resource, such as the unassigned processing unit120A. As such, two or more dedicated communication paths may beidentified as being associated with a particular physical resources,such as instances from among the communication path identifiers 165A-Nthat correspond to the dedicated communication path 1A and 6A for theunassigned processing unit 120A. It is understood that the examplesprovided are for illustration purposes only, and therefore should not beconstrued as limiting in any way. In various embodiments, each dedicatedcommunication path to a physical resource can be identified, and thecorresponding one or more of the communication path identifiers 165A-Ncan be obtained, to enable and facilitate the establishment thededicated processing path 176 and the dedicated memory path 178.

From operation 414, the method 400 can proceed to operation 416, wherethe dedicated physical resource manager 160 can assemble the candidateresource set 170 based on designating candidates from the remainderresources 132, such as provided by the candidate processing units 172A-Nand the candidate memory devices 174A-N. Each physical resource that isselected or otherwise designated as one of the candidate processingunits 172A-N or the candidate memory devices 174A-N can be identified inthe candidate resource set 170, such as by the dedicated physicalresource manager 160 indicating the identifier for the physical resource(i.e., from among the processing unit identifiers 164A-N and the memorydevice identifiers 166A-N) that is included as a candidate to supportthe creation of a virtual machine. By this, the candidate resource set170 can indicate which of the unassigned processing units 120A-N,126A-N, and the unassigned memory devices 123A-N, 130A-N are selected orotherwise designated as part of the candidate processing units 172A-N orthe candidate memory devices 174A-N. In some embodiments, the firstiteration of the assembling the candidate resource set 170 may satisfythe virtual processing requirement 181 and the virtual memoryrequirement 182, although this may not necessarily be the case for everyembodiment. In some embodiments, the candidate resource set 170 may bereassembled or otherwise reconfigured to satisfy the virtual processingrequirement 181 and the virtual memory requirement 182, such as by theaddition or subtraction of various physical resources so as tofacilitate the creation and execution of a virtual machine whileoptimizing the amount of physical resources implemented to do so.

In some embodiments, the method 400 may proceed from operation 416 toone or more operations discussed with respect to the method 300, such asthe operation 310. In some embodiments, the method 400 may proceed fromoperation 416 to operation 418, where the method 400 can end.

Turning now to FIG. 5, a network topology 500 for a virtualizeddatacenter cloud 502 will be described, according to an illustrativeembodiment. In some embodiments, at least a portion of the datacenter110 can be configured according one or more aspects of the networktopology 500. The illustrated network topology 500 includes threelayers: an application (“APP”) layer 504, a virtual network topologylayer 506, and a physical network topology layer 508. The APP layer 504can include one or more application virtualized network function(“VNFs”) 510A-510N, each of which can be divided to one or more sub-VNFs512A-512D (referred to herein collectively as “sub-VNFs 512”) to beexecuted by one or more VMs 514A-514D (referred to herein collectivelyas “VMs 514”). In the context of the concepts and technologies disclosedherein, the VNFs 510A-510N can include virtual processing networkfunctions for one or more virtual machines 156A-N of the datacenter 110.

The virtual network topology layer 506 includes the VMs 514, one or morehypervisors 516, and one or more server modules (“blades”) 518A-518N(referred to herein collectively as “blades 518”). Each blade 518 cansupport one hypervisor 516A-516N (referred to herein collectively as“hypervisors 516”) that, in turn, can manage one or more of the VMs 514.The blades 518 provide computing capacity to support the VMs 514carrying the sub-VNFs 512. The hypervisors 516 provide resourcemanagement among the VMs 514 supported thereby. One or more logicalserver cluster 520A-520N (referred to herein collectively as “serverclusters 520”) is created for resource allocation and reallocationpurposes, which includes the blades 518 in the same instance of theserver host 522. Each instance of the server host 522 includes one ormore of the logical server clusters 520.

The physical network topology layer 508 includes an Ethernet switch(“ESwitch”) group, including one or more ESwitches 524A-524N (referredto herein collectively as “ESwitches 524”). The physical networktopology layer 508 also includes a router group, including one or morerouters 526A-526N (referred to herein collectively as “routers 526”).The ESwitch group provides traffic switching function among the blades518. The router group provides connectivity for traffic routing betweenthe virtualized datacenter cloud 502 and the network 102. The routers526 may or may not provide multiplexing functions, depending uponnetwork design. In some embodiments, the physical network topology layer508 can correspond with one or more instances of the physical hostservers 116A-N.

The virtual network topology layer 506 is dynamic by nature, and assuch, the VMs 514 can be moved among the blades 518 as needed. Thephysical network topology layer 508 is more static, and as such, nodynamic resource allocation is involved in this layer. Through such anetwork topology configuration, the association among application VNFs510, the VM 514 supporting the application VNFs 510, and the blades 518that hosts the VM 514 can be determined. In some embodiments, theoperating system 150, the virtual machines 156A-N, and/or the networkadministration controller 158 can operate within the virtual networktopology layer 506.

In the illustrated example, a first VNF is divided into two sub-VNFs,VNF 1-1 512A and VNF 1-2 512C, which is executed by VM 1-1-1 514A and VM1-N-1 514C, respectively. The VM 1-1-1 514A is hosted by the blade 1-1518A and managed by the hypervisor 1-1 516A in the server cluster 1 520Aof the server host 522. Traffic switching between the blade 1-1 518A andthe blade 1-N 518N is performed via ESwitch-1 524A. Trafficcommunications between the ESwitches 524 and the network 102 can beperformed via the routers 526. In this example, the VM 1-1 514A can bemoved from the blade 1-1 518A to the blade 1-N 518N for VM livemigration if the blade 1-1 518A is detected to have difficulty tosupport the VNF 1-1 512A performance requirements and the blade 1-N 518Nhas sufficient capacity and is available to support the VNF 1-1 512Aperformance requirements. The virtual network topology layer 506 isdynamic by nature due to real-time resource allocation/reallocationcapability of a cloud software defined network (“SDN”). The associationof application, VM, and blade host in this example is the VNF 1-1 512Ais executed on the VM 1-1-1 514A hosted by the blade 1-1 518A in theserver cluster 1 520A. In some embodiments, one or more virtualapplications and/or virtual services of the datacenter 110 may beconfigured to operate within or otherwise correspond with the APP layer504.

Turning now to FIG. 6, details of a network 600 are illustrated,according to an illustrative embodiment. In some embodiments, one ormore of the network 102 and/or the network 818 can be configured, atleast in part, as the network 600. The network 600 includes a cellularnetwork 602, a packet data network 604, for example, the Internet, and acircuit switched network 606, for example, a PSTN. The cellular network602 includes various network components such as, but not limited to,base transceiver stations (“BTSs”), NBs, eNBs, gNBs (i.e., networkaccess points that provide 5G technology and/or otherwise conform to NewRadio standards or future standards), base station controllers (“BSCs”),radio network controllers (“RNCs”), mobile switching centers (“MSCs”),MMEs, short message service centers (“SMSCs”), multimedia messagingservice centers (“MMSCs”), home location registers (“HLRs”), HomeSubscriber Server (“HSSs”), Visitor Location Registers (“VLRs”),charging platforms, billing platforms, voicemail platforms, GPRS corenetwork components, location service nodes, an IP Multimedia Subsystem(“IMS”), optical transport devices, and the like. The cellular network602 also includes radios and nodes for receiving and transmitting voice,data, and combinations thereof to and from radio transceivers, networks,the packet data network 604, and the circuit switched network 606. Insome embodiments, the network 102 of FIG. 1 can operate, at least inpart, as the packet data network 604 and/or as or in cooperation withthe cellular network 602.

The mobile communications device 608, such as, for example, a cellulartelephone, a mobile terminal, a PDA, a laptop computer, a handheldcomputer, and combinations thereof, can be operatively connected to thecellular network 602. In some embodiments, an instance of the clientdevice 106 can be configured as the mobile communications device 608.The cellular network 602 can be configured as a 2G GSM network and canprovide data communications via GPRS and/or EDGE. Additionally, oralternatively, the cellular network 602 can be configured as a 3G UMTSnetwork and can provide data communications via the HSPA protocolfamily, for example, HSDPA, EUL (also referred to as HSUPA), and HSPA+.Additionally, or alternatively, the cellular network 602 may also becompatible with 4G and evolved mobile communications standards such asLTE, LTE-Advanced, LTE-Advanced Pro, or the like, as well as futuremobile standards, including but not limited to 5G and New Radiostandards and technology.

The packet data network 604 includes various devices, for example,servers, computers, databases, and other devices in communication withone another, as is generally known. The packet data network 604 devicesare accessible via one or more network links. The servers often storevarious files that are provided to a requesting device such as, forexample, a computer, a terminal, a smartphone, or the like. Typically,the requesting device includes software (e.g., a “browser”) forexecuting a web page in a format readable by the browser or othersoftware such as executable applications. Other files and/or data may beaccessible via “links” and/or pointers in the retrieved files, as isunderstood by one of skill in the technology. In some embodiments, thepacket data network 604 includes or is in communication with theInternet. In some embodiments, the at least some of the network 102 canbe configured as a packet data network, such as the packet data network604. The circuit switched network 606 includes various hardware andsoftware for providing circuit switched communications. The circuitswitched network 606 may include, or may be, what is often referred toas a POTS. In some embodiments, the at least some of the network 102also can be configured as a circuit switched network, such as thecircuit switched network 606. The functionality of a circuit switchednetwork 606 or other circuit-switched network are understood by one ofskill in the technology and therefore will not be described herein indetail.

The illustrated cellular network 602 is shown in communication with thepacket data network 604 and a circuit switched network 606, though itshould be appreciated that this is not necessarily the case. One or moreInternet-capable devices 610, for example, a PC, a laptop, a portabledevice, or another suitable device, can communicate with one or morecellular networks 602, and devices connected thereto, through the packetdata network 604. In some embodiments, the internet-capable devices 610can include one or more instances of the client devices 106 and one ormore network elements of the datacenter 110. It also should beappreciated that the Internet-capable device 610 can communicate withthe packet data network 604 through the circuit switched network 606,the cellular network 602, and/or via other networks (not illustrated).

As illustrated, a communications device 612, for example, a telephone,facsimile machine, modem, computer, or the like, can be in communicationwith the circuit switched network 606, and therethrough to the packetdata network 604 and/or the cellular network 602. It should beappreciated that the communications device 612 can be anInternet-capable device, and can be substantially similar to theInternet-capable device 610. In the specification, the network of FIG. 6is used to refer broadly to any combination of the networks 602, 604,606 shown in FIG. 6. It should be appreciated that, in some embodiments,substantially all of the functionality described with reference to thenetwork 102 and/or the datacenter 110 can be performed by the cellularnetwork 602, the packet data network 604, and/or the circuit switchednetwork 606, alone or in combination with other networks, networkelements, and the like, according at least to aspects of the featuresand operations discussed herein.

Turning now to FIG. 7, a block diagram illustrating an illustrativenetwork virtualization platform (“NVP”) 700 that can be used toimplement, at least in part, the datacenter 110 and/or at least aportion thereof, introduced above in FIG. 1 will be described, accordingto an illustrative embodiment. For example, in some embodiments, one ormore instances of one of the physical host servers 116A-N, theprocessing units 118A-N, 124A-N, the memory devices 122A-N, 128A-N, theoperating system 150, the dedicated physical resource manager 160, thephysical host infrastructure 114, the hypervisor 154, the SDN gateway112, and/or other network elements of the datacenter 110 can beimplemented via the NVP 700. The illustrated NVP 700 includes a hardwareresource layer 702, a virtualization/control layer 704, and a virtualresource layer 706 that work together to perform operations as will bedescribed in detail herein. The hardware resource layer 702 provideshardware resources, which, in the illustrated embodiment, include one ormore compute resources 708, one or more memory resources 710, and one ormore other resources 712. In some embodiments, the hardware resourcelayer 702 can correspond with an embodiment of an instance of one of thephysical host server 116A-N of the datacenter 110.

The compute resource(s) 708 can include one or more hardware componentsthat perform computations to process data, and/or to executecomputer-executable instructions of one or more application programs,operating systems, and/or other software, to provide, at least in part,any services or composition of services described herein. In someembodiments, the processing units 118A-N, 124A-N can correspond with oneor more instances of the compute resources 708. In some embodiments, thecompute resources 708 may be referred to as processing resources. Thecompute resources 708 can include one or more central processing units(“CPUs”) configured with one or more processing cores. The computeresources 708 can include one or more graphics processing unit (“GPU”)configured to accelerate operations performed by one or more CPUs,and/or to perform computations to process data, and/or to executecomputer-executable instructions of one or more application programs,operating systems, and/or other software that may or may not includeinstructions particular to graphics computations. In some embodiments,the compute resources 708 can include one or more discrete GPUs. In someother embodiments, the compute resources 708 can include CPU and GPUcomponents that are configured in accordance with a co-processingCPU/GPU computing model, wherein the sequential part of an applicationexecutes on the CPU and the computationally-intensive part isaccelerated by the GPU. The compute resources 708 can include one ormore system-on-chip (“SoC”) components along with one or more othercomponents, including, for example, one or more of the memory resources710, and/or one or more of the other resources 712. In some embodiments,the memory devices 122A-N, 128A-N can correspond with the memoryresources 710. In some embodiments, the compute resources 708 can be orcan include one or more SNAPDRAGON SoCs, available from QUALCOMM of SanDiego, Calif.; one or more TEGRA SoCs, available from NVIDIA of SantaClara, Calif.; one or more HUMMINGBIRD SoCs, available from SAMSUNG ofSeoul, South Korea; one or more Open Multimedia Application Platform(“OMAP”) SoCs, available from TEXAS INSTRUMENTS of Dallas, Tex.; one ormore customized versions of any of the above SoCs; and/or one or moreproprietary SoCs. The compute resources 708 can be or can include one ormore hardware components architected in accordance with an ARMarchitecture, available for license from ARM HOLDINGS of Cambridge,United Kingdom. Alternatively, the compute resources 708 can be or caninclude one or more hardware components architected in accordance withan x86 architecture, such an architecture available from INTELCORPORATION of Mountain View, Calif., and others. Those skilled in theart will appreciate the implementation of the compute resources 708 canutilize various computation architectures or combinations thereof, andas such, the compute resources 708 should not be construed as beinglimited to any particular computation architecture or combination ofcomputation architectures, including those explicitly disclosed herein.

The memory resource(s) 710 can include one or more hardware componentsthat perform storage operations, including temporary or permanentstorage operations. In some embodiments, the memory resource(s) 710include volatile and/or non-volatile memory implemented in any method ortechnology for storage of information such as computer-readableinstructions, data structures, program modules, or other data disclosedherein. Computer storage media includes, but is not limited to, randomaccess memory (“RAM”), read-only memory (“ROM”), erasable programmableROM (“EPROM”), electrically erasable programmable ROM (“EEPROM”), flashmemory or other solid state memory technology, CD-ROM, digital versatiledisks (“DVD”), or other optical storage, magnetic cassettes, magnetictape, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store data and which can be accessedby the compute resources 708.

The other resource(s) 712 can include any other hardware resources thatcan be utilized by the compute resource(s) 708 and/or the memoryresource(s) 710 to perform operations described herein. The otherresource(s) 712 can include one or more input and/or output processors(e.g., network interface controller or wireless radio), one or moremodems, one or more codec chipset, one or more pipeline processors, oneor more fast Fourier transform (“FFT”) processors, one or more digitalsignal processors (“DSPs”), one or more speech synthesizers, and/or thelike.

The hardware resources operating within the hardware resource layer 702can be virtualized by one or more virtual machine monitors (“VMMs”)714A-714K (also known as “hypervisors;” hereinafter, collectively “VMMs714”) operating within the virtualization/control layer 704 to manageone or more virtual resources that reside in the virtual resource layer706. The VMMs 714 can be or can include software, firmware, and/orhardware that alone or in combination with other software, firmware,and/or hardware, manages one or more virtual resources operating withinthe virtual resource layer 706. In some embodiments, one or moreinstances of the physical host servers 116A-N of the physical hostinfrastructure 114 can provide the VMMs 714.

The virtual resources operating within the virtual resource layer 706can include abstractions of at least a portion of the compute resources708, the memory resources 710, the other resources 712, or anycombination thereof. These abstractions are referred to herein asvirtual machines (“VMs”). It should be understood, however, that othercontainer technologies can be used and are contemplated. It isunderstood that as used herein, the term “abstractions” (and variantsthereof) is to be interpreted within the realm of networking andcomputer engineered systems, specifically as a way to describe a layeredcomputer implementation to transform physical, non-generic devices so asto veil an end user from viewing the complexity of network architecturethat is executing at lower levels, thereby enabling the transformationof particular machines and implementation of concepts and technologiesdiscussed herein. In no manner shall the term “abstractions” (orvariants thereof), be used to interpret or construe the claims in such away as being directed to an abstract idea or any other judicialexception or non-patent eligible subject matter. In the illustratedembodiment, the virtual resource layer 706 includes VMs 716A-716L(hereinafter, collectively “VMs 716”). The VMs 716 can executeinstructions to provide, at least in part, any services or compositionof services described herein, such as but not limited to the dedicatedphysical resource manager 160 and/or the network administrationcontroller 158. In some embodiments, at least one or more of the virtualmachines 156A-N can be configured to operate as one or more of the VMs716 within the operating environment 100.

Turning now to FIG. 8, a block diagram is provided illustrating acomputer system 800 configured to provide the functionality inaccordance with various embodiments of the concepts and technologiesdisclosed herein. The systems, devices, and other components disclosedherein can utilize, at least in part, an architecture that is the sameas or at least similar to the architecture of the computer system 800.In some embodiments, one or more instances of the client device 106, thenetwork access point 104, the physical host servers 116A-N, and/or otherdevices of the datacenter 110 can be configured the same as, like, or atleast similar to the computer system 800. It should be understood,however, that modification to the architecture may be made to facilitatecertain interactions among elements described herein.

The computer system 800 includes a processing unit 802, a memory 804,one or more user interface devices 806, one or more input/output (“I/O”)devices 808, and one or more network devices 810, each of which isoperatively connected to a system bus 812. The system bus 812 enablesbi-directional communication between the processing unit 802, the memory804, the user interface devices 806, the/O devices 808, and the networkdevices 810.

The processing unit 802 may be a standard central processor thatperforms arithmetic and logical operations, a more specific purposeprogrammable logic controller (“PLC”), a programmable gate array, orother type of processor known to those skilled in the art and suitablefor controlling the operation of the server computer. The processingunit 802 can include one or more central processing units (“CPUs”)configured with one or more processing cores, and/or one or moregraphics processing unit (“GPU”) configured to accelerate operationsperformed by one or more CPUs. The processing unit 802 can include oneor more system-on-chip (“SoC”) components along with one or more othercomponents, including, for example, one or more of the memory resources,and/or one or more of the other resources. Processing units areunderstood by one of ordinary skill in the technology, and therefore arenot described in further detail herein. In some embodiments, one or moreof the processing units 118A-N, 124A-N and the unassigned processingunits 120A-N, 126A-N, can be provided by a processor, such as theprocessing unit 802. As such, one or more instances of the processingunit 802 can provide the physical host infrastructure 114. It isunderstood that the processing units 118A-N, 124A-N of the datacenter110 can be implemented as one or more instances of processing unit 802.

The memory 804 communicates with the processing unit 802 via the systembus 812. In some embodiments, the memory devices 122A-N, 128A-N (andthus also the unassigned memory devices 123A-N, 130A-N) within thedatacenter 110 can be implemented as the memory 804. In someembodiments, the memory 804 is operatively connected to a memorycontroller (not shown) that enables communication with the processingunit 802 via the system bus 812. The illustrated memory 804 includes anoperating system 814 and one or more program modules 816. The operatingsystem 814 can include, but is not limited to, members of the WINDOWS,WINDOWS CE, and/or WINDOWS MOBILE families of operating systems fromMICROSOFT CORPORATION, the LINUX family of operating systems, theSYMBIAN family of operating systems from SYMBIAN LIMITED, the BREWfamily of operating systems from QUALCOMM CORPORATION, the MAC OS, OS X,and/or iOS families of operating systems from APPLE CORPORATION, theFREEBSD family of operating systems, the SOLARIS family of operatingsystems from ORACLE CORPORATION, other operating systems, and the like.

The program modules 816 may include various software and/or programmodules to perform the various operations described herein. In someembodiments, for example, the program modules 816 can include thededicated physical resource manager 160, network administrationcontroller 158, the SDN gateway 112, the hypervisor 154, and/or otherprogram modules. These and/or other programs can be embodied in acomputer storage medium including or otherwise storing instructionsthat, when executed by the processing unit 802, in some embodiments, mayperform and/or facilitate performance of one or more of the operationsdiscussed with respect to FIGS. 1, 2, 3, and 4 described in detailabove. According to some embodiments, the program modules 816 may beembodied in hardware, software, firmware, or any combination thereof. Insome embodiments, the memory 804 also can be configured to store dataincluding, but not limited to, the claimed parameters 152A-N, the actualparameters 153A-N, the physical host infrastructure map 162, theprocessing unit identifiers 164A-N, the communication path identifiers165A-N, the memory device identifiers 166A-N, the simulation testroutine 168, the candidate resource set 170, dedicated processing path176, the dedicated memory path 178, the virtual machine creation request180, the virtual processing requirement 181, the virtual memoryrequirement 182, the virtual machine creation instruction 184, any otherinformation or data discussed with respect to FIGS. 1, 2, 3, 4, and/orother data, if desired.

By way of example, and not limitation, computer-readable media may storeany available communication media that can be accessed by the computersystem 800. Communication media includes computer-readable instructions,data structures, program modules, or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany delivery media. The term “modulated data signal” means a signal thathas one or more of its characteristics changed or set in a manner as toencode information in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. Combinations of the any of the aboveshould also be included within the scope of computer-readable media.

Computer storage media includes volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules, or other data. Computer storage media includes, but isnot limited to, RAM, ROM, Erasable Programmable ROM (“EPROM”),Electrically Erasable Programmable ROM (“EEPROM”), flash memory or othersolid-state memory technology, CD-ROM, digital versatile disks (“DVD”),or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to store the desired information and which can beaccessed by the computer system 800. In the claims, the phrases“memory”, “memory device”, “computer storage medium”, and variationsthereof, does not include waves or signals per se and/or communicationmedia.

The user interface devices 806 may include one or more devices withwhich a user accesses the computer system 800. The user interfacedevices 806 may include, but are not limited to, computers, servers,PDAs, cellular phones, or any suitable computing devices. The I/Odevices 808 enable a user to interface with the program modules 816. Inone embodiment, the/O devices 808 are operatively connected to an I/Ocontroller (not shown) that enables communication with the processingunit 802 via the system bus 812. The/O devices 808 may include one ormore input devices, such as, but not limited to, a keyboard, a mouse, oran electronic stylus. Further, the I/O devices 808 may include one ormore output devices, such as, but not limited to, a display screen or aprinter. In some embodiments, the I/O devices 808 can be used for manualcontrols for operations to exercise under certain emergency situations.

The network devices 810 enable the computer system 800 to communicatewith other networks or remote systems via a network 818, such as thenetwork 102 and/or the network 600. Examples of the network devices 810include, but are not limited to, a modem, a radio frequency (“RF”) orinfrared (“IR”) transceiver, a telephonic interface, a bridge, a router,or a network card. The network devices 810 may support communication andfunctionality with the network 818, such as via physical networkfunctions, virtual network functions, virtual and/or physical edgedevices, or the like. The network devices 810 can, in some embodiments,be included in the datacenter 110, such as via the SDN gateway 112. Thenetwork 818 may be or may include a wireless network such as, but notlimited to, a Wireless Local Area Network (“WLAN”), a Wireless Wide AreaNetwork (“WWAN”), a Wireless Personal Area Network (“WPAN”) such asprovided via BLUETOOTH technology, a Wireless Metropolitan Area Network(“WMAN”) such as a WiMAX network or metropolitan cellular network.Alternatively, or additionally, the network 818 may be or may include awired network such as, but not limited to, a Wide Area Network (“WAN”),a wired Personal Area Network (“PAN”), a wired Metropolitan Area Network(“MAN”), an optical network, a VoIP network, an IP/MPLS network, a PSTNnetwork, an IMS network, an EPC network, or any other mobile networkand/or wireline network.

Based on the foregoing, it should be appreciated that concepts andtechnologies directed to dedicated optical distribution of computingresources in virtualized environments have been disclosed herein.Although the subject matter presented herein has been described inlanguage specific to computer structural features, methodological andtransformative acts, specific computing machinery, and computer-readablemediums, it is to be understood that the concepts and technologiesdisclosed herein are not necessarily limited to the specific features,operations, or mediums described herein. Rather, the specific features,operations, and mediums are disclosed as example forms of implementingthe concepts and technologies disclosed herein. The subject matterdescribed above is provided by way of illustration only and should notbe construed as limiting. Various modifications and changes may be madeto the subject matter described herein without following the exampleembodiments and applications illustrated and described, and withoutdeparting from the true spirit and scope of the embodiments of theconcepts and technologies disclosed herein.

1. A system comprising: a processor; and a memory storingcomputer-executable instructions that, in response to execution by theprocessor, cause the processor to perform operations comprising:receiving a virtual machine creation request that includes a virtualprocessing requirement and a virtual memory requirement for a virtualmachine, accessing a physical host infrastructure map that identifiesremainder resources from physical host servers within a datacenter,determining whether each of the remainder resources can be accessed viaa dedicated communication path, designating at least a portion of theremainder resources determined to be accessible via dedicatedcommunication paths to a candidate resource set, creating a simulationtest routine based on the virtual processing requirement and the virtualmemory requirement, establishing a dedicated processing path and adedicated memory path for the candidate resource set, and initiating thesimulation test routine on the candidate resource set via the dedicatedprocessing path and the dedicated memory path.
 2. The system of claim 1,wherein the remainder resources comprise a plurality of unassignedprocessing units and a plurality of unassigned memory devices, and wherethe candidate resource set comprises at least one unassigned processingunit from the plurality of unassigned processing units and at least oneunassigned memory device from the plurality of unassigned memorydevices.
 3. The system of claim 2, wherein the operations furthercomprise removing an unassigned processing unit from the remainderresources in response to determining that the unassigned processing unitcannot be accessed via a dedicated communication path.
 4. The system ofclaim 1, wherein the operations further comprise determining whether thecandidate resource set satisfies the virtual processing requirement andthe virtual memory requirement for the virtual machine.
 5. The system ofclaim 4, wherein the operations further comprise: in response todetermining that the candidate resource set does not satisfy at leastone of the virtual processing requirement or the virtual memoryrequirement for the virtual machine, reconfiguring at least one of thededicated processing path or the dedicated memory path; reinitiating thesimulation test routine; and determining that reconfiguring at least oneof the dedicated processing path or the dedicated memory path enablesthe candidate resource set to satisfy the virtual processing requirementand the virtual memory requirement for the virtual machine.
 6. Thesystem of claim 4, wherein the operations further comprise: in responseto determining that the candidate resource set does not satisfy at leastone of the virtual processing requirement or the virtual memoryrequirement for the virtual machine, reconfiguring the candidateresource set to include another remainder resource; reinitiating thesimulation test routine; and determining that reconfiguring thecandidate resource set to include another remainder resource enables thecandidate resource set to satisfy the virtual processing requirement andthe virtual memory requirement for the virtual machine.
 7. The system ofclaim 4, wherein the operations further comprise in response todetermining that candidate resource set satisfies the virtual processingrequirement and the virtual memory requirement for the virtual machine,instructing a hypervisor to create the virtual machine using thecandidate resource set.
 8. A method comprising: receiving, by a systemof a datacenter, a virtual machine creation request that includes avirtual processing requirement and a virtual memory requirement for avirtual machine; accessing, by the system, a physical hostinfrastructure map that identifies remainder resources from physicalhost servers within the datacenter; determining, by the system, whethereach of the remainder resources can be accessed via a dedicatedcommunication path; designating, by the system, at least a portion ofthe remainder resources determined to be accessible via dedicatedcommunication paths to a candidate resource set; creating, by thesystem, a simulation test routine based on the virtual processingrequirement and the virtual memory requirement; establishing, by thesystem, a dedicated processing path and a dedicated memory path for thecandidate resource set; and initiating, by the system, the simulationtest routine on the candidate resource set via the dedicated processingpath and the dedicated memory path.
 9. The method of claim 8, whereinthe remainder resources comprise a plurality of unassigned processingunits and a plurality of unassigned memory devices, and wherein thecandidate resource set comprises at least one unassigned processing unitfrom the plurality of unassigned processing units and at least oneunassigned memory device from the plurality of unassigned memorydevices.
 10. The method of claim 9, further comprising removing anunassigned processing unit from the remainder resources in response todetermining that the unassigned processing unit cannot be accessed via adedicated communication path.
 11. The method of claim 8, furthercomprising determining, by the system, whether the candidate resourceset satisfies the virtual processing requirement and the virtual memoryrequirement for the virtual machine.
 12. The method of claim 11, furthercomprising: in response to determining that the candidate resource setdoes not satisfy at least one of the virtual processing requirement orthe virtual memory requirement for the virtual machine, reconfiguring,by the system, at least one of the dedicated processing path or thededicated memory path; reinitiating, by the system, the simulation testroutine; and determining, by the system, that reconfiguring at least oneof the dedicated processing path or the dedicated memory path enablesthe candidate resource set to satisfy the virtual processing requirementand the virtual memory requirement for the virtual machine.
 13. Themethod of claim 11, further comprising: in response to determining thatthe candidate resource set does not satisfy at least one of the virtualprocessing requirement or the virtual memory requirement for the virtualmachine, reconfiguring, by the system, the candidate resource set toinclude another remainder resource; reinitiating, by the system, thesimulation test routine; and determining, by the system, thatreconfiguring the candidate resource set to include another remainderresource enables the candidate resource set to satisfy the virtualprocessing requirement and the virtual memory requirement for thevirtual machine.
 14. The method of claim 11, further comprising inresponse to determining that candidate resource set satisfies thevirtual processing requirement and the virtual memory requirement forthe virtual machine, instructing, by the system, a hypervisor to createthe virtual machine using the candidate resource set.
 15. A computerstorage medium having computer-executable instructions stored thereonthat, in response to execution by a processor, cause the processor toperform operations comprising: receiving a virtual machine creationrequest that includes a virtual processing requirement and a virtualmemory requirement for a virtual machine; accessing a physical hostinfrastructure map that identifies remainder resources from physicalhost servers within a datacenter; determining whether each of theremainder resources can be accessed via a dedicated communication path;designating at least a portion of the remainder resources determined tobe accessible via dedicated communication paths to a candidate resourceset; creating a simulation test routine based on the virtual processingrequirement and the virtual memory requirement; establishing a dedicatedprocessing path and a dedicated memory path for the candidate resourceset; and initiating the simulation test routine on the candidateresource set via the dedicated processing path and the dedicated memorypath.
 16. The computer storage medium of claim 15, wherein the remainderresources comprise a plurality of unassigned processing units and aplurality of unassigned memory devices, and wherein the candidateresource set comprises at least one unassigned processing unit from theplurality of unassigned processing units and at least one unassignedmemory device from the plurality of unassigned memory devices.
 17. Thecomputer storage medium of claim 16, wherein the operations furthercomprise removing an unassigned processing unit from the remainderresources in response to determining that the unassigned processing unitcannot be accessed via a dedicated communication path.
 18. The computerstorage medium of claim 15, wherein the operations further comprise:determining whether the candidate resource set satisfies the virtualprocessing requirement and the virtual memory requirement for thevirtual machine; in response to determining that the candidate resourceset does not satisfy at least one of the virtual processing requirementor the virtual memory requirement for the virtual machine, reconfiguringat least one of the dedicated processing path or the dedicated memorypath; reinitiating the simulation test routine; and determining thatreconfiguring at least one of the dedicated processing path or thededicated memory path enables the candidate resource set to satisfy thevirtual processing requirement and the virtual memory requirement forthe virtual machine.
 19. The computer storage medium of claim 15,wherein the operations further comprise: determining whether thecandidate resource set satisfies the virtual processing requirement andthe virtual memory requirement for the virtual machine; in response todetermining that the candidate resource set does not satisfy at leastone of the virtual processing requirement or the virtual memoryrequirement for the virtual machine, reconfiguring the candidateresource set to include another remainder resource; reinitiating thesimulation test routine; and determining that reconfiguring thecandidate resource set to include another remainder resource enables thecandidate resource set to satisfy the virtual processing requirement andthe virtual memory requirement for the virtual machine.
 20. The computerstorage medium of claim 15, wherein the operations further comprise:determining whether the candidate resource set satisfies the virtualprocessing requirement and the virtual memory requirement for thevirtual machine; and in response to determining that candidate resourceset satisfies the virtual processing requirement and the virtual memoryrequirement for the virtual machine, instructing a hypervisor to createthe virtual machine using the candidate resource set.